May 13, 2019 - Percona - MySQL performance : kubernetes

Comments

Percona - MySQL performance : kubernetes

Percona 블로그에 Kubernetes 환경에서 MySQL 성능 관련한 글이 올라 왔습니다. https://www.percona.com/blog/2019/05/09/measuring-mysql-performance-kubernetes/

기본적인 배포로는 CPU의 성능을 제대로 사용하지 못해서 50% 이하로 사용을 한다고 합니다.
YAML에서 아래와 같이 CPU, memory 설정을 해주면 K8S 없는 일반적인 서버의 90% 성능으로 사용을 할 수 있다고 합니다. 90% 수준의 성능은 K8S 사용을 감안하면 괜찮습니다.

resources:
    requests:
        cpu: "55500m"
        memory: "150Gi"
    limits:
        cpu: "55500m"
        memory: "150Gi"

실제 환경에서는 여러 상황들을 고려해서 성능 측정을 하고 적절한 설정값을 찾아야 겠습니다.

May 13, 2019 - MariaDB Storage Engine - AWS S3

Comments

MariaDB Storage Engine - AWS S3

MariaDB 10.5의 새로운 기능으로 AWS S3 이용할 수 있는 Storage Engine이 추가 됩니다. https://mariadb.com/kb/en/library/using-the-s3-storage-engine/

S3 스토리지 엔진은 읽기 전용이며 MariaDB 테이블을 Amazon S3에 보관하거나 S3 API를 이용해서 타사 공용 또는 사설 클라우드의 데이터를 MariaDB에서 읽을 수 있습니다.

S3 테이블을 생성하면 로컬 스토리지에 frm 파일을 저장한다고 합니다. S3에서 테이블 정의가 변경되고 로컬 캐시에 있으면 FLUSH TABLES를 실행하여 MariaDB가 변경 사항을 확인하고 .frm 파일을 업데이트 합니다.

aria_s3_copy 툴을 이용해서 S3 스토리지 엔진을 활용할 수 있다고 합니다. .aria_s3_copy는 S3에서 Aria 테이블을 복사하는 데 사용하는 도구입니다.

May 11, 2019 - MySQL 8.0 Enterprise : Docker 설치

Comments

MySQL 8.0 Enterprise : Docker 설치

Docker에서 오픈소스 MySQL community를 설치하는건 일반적으로 아래와 같이 docker pull 등의 명령으로 docker image를 다운로드 받아서 사용을 할 수 있습니다.

# docker run -p 3307:3306 -d --name mysql -e MYSQL_ROOT_PASSWORD=password mysql/mysql-server

상용라이선스인 MySQL Enterprise는 어떻게 사용할 수 있는지에 대해서 아래 웺사이트에서 알 수 있습니다. https://scriptingmysql.wordpress.com/2019/05/10/mysql-server-deployment-with-docker-basic-installation-instructions-for-both-the-community-and-enterprise-versions/

MySQL Enterprise 구매를 하면 주는 Oracle Support portal 계정으로 로그인해서 docker image를 검색하고 다운로드 받을 수 있습니다. 다운로드 받은 docker image를 아래와 같이 docker에 올려주면 됩니다.

# docker load -i mysql-enterprise-server-8.0.16.tar

May 11, 2019 - MariaDB / MySQL / Percona : Docker 이미지 비교

Comments

MariaDB / MySQL 8.0 / Percona : Docker 이미지 비교

severalnines에서 MariaDB / MySQL / Percona 서버들에 대한 Docker 이미지를 비교 한게 있어서 살펴 봤습니다.
https://severalnines.com/blog/popular-docker-images-mysql-and-mariadb-server

해당 글을 보다가 좀 더 궁금한 사항들이 있어서 버전별로 좀 더 확인을 해 봤습니다.

repositoryversion(tag)sizeOS
mariadb10.4392MBUbuntu 18.04
mariadb10.3 (latest)381MBUbuntu 18.04
mariadb10.2378MBUbuntu 18.04
mariadb10.1391MBUbuntu 18.04
mariadb10.0352MBUbuntu 16.04
mariadb5.5352MBUbuntu 14.04
mariadb/columnstore1.21.15GBCentOS 7
percona8.0727MBCentOS 7
percona5.7 (latest)583MBCentOS 7
percona5.6421MBCentOS 7
percona5.5294MBDebian 9
mysql8.0 (latest)443MBDebian 9
mysql5.7373MBDebian 9
mysql5.6256MBDebian 9
mysql5.5205MBDebian 9
mysql/mysql-server8.0289MBOracle Linux 7
bitnami/mariadb10.1 (latest)261MBDebian 9
bitnami/mysql5.7 (latest)287MBDebian 9
centos/mariadb-102-centos710.2456MBCentOS 7
centos/mariadb-101-centos710.1476MBCentOS 7
centos/mariadb-100-centos710.0439MBCentOS 7
centos/mysql-80-centos78.0569MBCentOS 7
centos/mysql-57-centos75.7452MBCentOS 7
centos/mysql-56-centos75.6407MBCentOS 7
yobasystems/alpine-mariadb10.2228MBalpine 3.8
ipburger/mysql-alpine.docker10.2154MBalpine 3.8
wangxian/alpine-mysql10.1176MB alpine 3.4
  • MariaDB 이미지들은 5.5부터 버전이 올라가면서 이미지 크기도 조금씩 커졌습니다.
  • MySQL은 5.7버전까지는 MariaDB하고 이미지 크기가 비슷하다가 8.0 버전에서 MariaDB보다 커졌습니다.
  • Percona 서버들이 이미지 크기가 제일 크긴 합니다.
  • MariaDB ColumnStore 엔진은 1GB가 넘습니다.
  • CentOS에서의 MariaDB / MySQL 이미지들이 더 크긴 하고요.
  • alpine 리눅스를 사용하면 이미지 크기를 100~200MB 정도 줄일 수 있습니다.

Apr 27, 2019 - MySQL 8.0 자동 mysql_upgrade

Comments

MySQL 8.0 자동 mysql_upgrade

https://elephantdolphin.blogspot.com/2019/04/bye-bye-to-mysqlupgrade-change-to.html

MySQL 8.0.16 release Notes에 mysql_upgrade 관련한 변경 사항이 있다고 합니다. 기존에는 version upgrade 하면 mysql_upgrade 실행을 해서 schema 변경 사항들을 최신으로 적용을 해줬습니다. MySQL 8.0.16부터는 수동으로 mysql_upgrade 하던것을 자동으로 하는것으로 변경 됐다고 합니다. 앞으로는 MySQL 업그레이드를 하고 서버 시작을 하면 자동으로 upgrade를 하게 되어서 mysql_upgrade는 deprecated 된다고 합니다.

Apr 24, 2019 - Percona PMM - PostgreSQL monitoring

Comments

Percona PMM - PostgreSQL 오픈소스 데이터베이스 모니터링

https://www.percona.com/blog/2019/04/23/adding-postgresql-queries-overview-dashboards-to-the-pmm-plugin/

PMM(Percona Monitoring and Management)에서 오픈소스 데이터베이스 PostgreSQL 모니터링이 추가 됐다고 합니다.

PMM은 오픈소스로 MySQL 데이터베이스 모니터링을 하는 툴입니다. MySQL과 MariaDB, Percona server for MySQL, Amazon RDS 데이터베이스들을 모니터링 할 수 있습니다. MySQL 모니터링 이후에 MongoDB, PostgreSQL 모니터링을 할 수 있습니다.

각 데이터베이스별로 세부 모니터링 항목들은 아래 웹페이지에서 확인 할 수 있습니다. https://www.percona.com/doc/percona-monitoring-and-management/index.metrics-monitor.dashboard.html

Apr 18, 2019 - MariaDB SQL_MODE=MSSQL 지원

Comments

MariaDB SQL_MODE=MSSQL 지원

https://mariadb.com/kb/en/library/sql_modemssql/

MariaDB 10.4.6부터 SQL_MODE=MSSQL 설정이 지원된다고 합니다. 일단 제한적으로 기본적인 syntax만 지원을 하는 수준이고 요청에 따라서 관련 지원을 늘려나갈 계획이라고 합니다.

SQL_MODE=ORACLE 지원에 이어서 MSSQL 지원을 하는것으로 보면 나중에 다른 사용 데이터베이스들도 지원을 할 수도 있지 않을까 싶습니다.

https://mariadb.org/donate/

MariaDB Foundation의 Platinum Sponsor중에 Microsoft가 있는데요. 이번 지원과 관련해서 어떤 입장인지 궁금하긴 하네요. Microsoft가 SQL_MODE=MSSQL을 적극 지원 한다면 빠르게 관련 기능이 MariaDB 주요 기능으로 사용될 수가 있을 듯 합니다.

Apr 13, 2019 - stack overflow Developer Survey Results 2019 : R / SQL / Python

Comments

stack overflow Developer Survey Results 2019 : R / SQL / Python

stack overflow Developer Survey Results 2019

https://insights.stackoverflow.com/survey/2019

Programming, Scripting, and Markup Languages

HTML/CSS 63.5%
SQL 54.4%
Python 41.7%
....
R 5.8%

HTML, SQL 사용이 많고 Python과 R의 전체적인 사용자는 많은 차이가 있습니다.

loved, dreaded, wanted에 대한 비율은 아래와 같습니다.

language   loved     dreaded     wanted  
R
51.7% 48.3% 4.9%
SQL
64.1% 35.9% 7.6%
Python
73.1% - 25.7%

What Languages Are Associated with the Highest Salaries Worldwide?

R $64k
Python $63k
SQL $57k

R과 Python 사용자들의 연봉은 비슷합니다. 데이터 분석쪽으로만 비교를 한 자료가 있으면 좋겠습니다.

아래는 관련된 직업의 연봉입니다.

Salary by Developer Type

Engineering manager $95k
Engineer, site reliability $85k
DevOps specialist $71k
Engineer, data $66k
Data scientist or machine learning specialist $61k
Data or business analyst $59k
System administrator $55k
Database administrator $54k

Salary and Experience by Language

stackoverflow 2019 salary by language

Apr 13, 2019 - stack overflow Developer Survey Results 2019 데이터베이스

Comments

stack overflow Developer Survey Results 2019 데이터베이스

stack overflow Developer Survey Results 2019

https://insights.stackoverflow.com/survey/2019

사용하고 있는 데이터베이스 순위

MySQL 54.0%
PostgreSQL 34.3%
Microsoft SQL Server 32.8%
SQLite 31.6%
MongoDB 25.5%
Redis 18.6%
MariaDB 16.5%
Oracle 16.5% 

MySQL이 1위이고 PostgreSQL이 2위입니다. 2018년에는 MySQL 58.7%, SQL Server 41.2% PostgreSQL 32.9%, MongoDB 25.9%, SQLite 19.7%, Redis 18.0%, Elasticsearch 14.1%, MariaDB 13.4% 였습니다. PostgreSQL이 SQL Server보다 많이 사용하는것으로 바뀌었습니다. MySQL은 약간 줄고, MariaDB 사용이 증가를 했습니다. 2개 데이터베이스를 합쳐서는 70%를 약간 넘습니다.

loved, dreaded, wanted 데이터베이스 순위는 아래와 같습니다. PosgresSQL이 선호도가 제일 좋고 MariaDB가 MySQL보다 선호도가 높습니다.

loved database 순위

PostgreSQL 69.6%
Elasticsearch 63.6%
Firebase 61.4%
MongoDB 59.5%
MariaDB 59.1%
Microsoft SQL Server 57.5%
SQLite 55.6%
DynamoDB 54.7%
MySQL 53.9%

dreaded database 순위

Couchbase 62.7%
Oracle 61.8%
Cassandra 52.8%
MySQL 46.1%
DynamoDB 45.3%
SQLite 44.4%
Microsoft SQL Server 42.5%
MariaDB 40.9%
MongoDB 40.5%
Firebase 38.6%
Elasticsearch 36.4%
PostgreSQL 30.4%
Redis 28.7%```

wanted database 순위

MongoDB 17.8%
PostgreSQL 13.6%
Elasticsearch 11.1%
Redis 10.7%
MySQL 8.2%
Firebase 7.6%
SQLite 7.2%
Cassandra 5.6%
DynamoDB 4.3%
MariaDB 3.5%
Oracle 3.4%
Microsoft SQL Server 3.3%
Couchbase 2.2%

Platform 사용은 Linux53.3%, Windows50.7%, Docker31.5% 입니다.

docker, k8s 등의 container들이 설문 대상에 추가되면서 docker가 3위의 사용을 하고 있는것으로 결과가 나왔습니다.

loved platform은 Linux 83.1%, Docker 77.8%, Kubernetes 76.8%으로 Docker, k8s 영향이 점점 커지고 있는것을 알 수 있습니다.

How Technologies Are Connected 이미지를 보면 어떤 연관 관계들이 볼 수 있습니다.

Correlated Technologies : stackoverflow 2019

Apr 11, 2019 - 블로그 설치 - jekyll-clean 테마

Comments

개인 블로그를 github으로 시작하려고 합니다. 여러 테마들을 보다가 jekyll-clean 테마가 깔끔해서 선택하게 됐습니다.

https://github.com/scotte/jekyll-clean