db-engines.com 2017년 12월 순위

https://db-engines.com/en/ranking/relational+dbms

 

database의 순위를 알려주는 db-engines.com의 2017년 12월 순위를 찾아봤습니다.

어제 linkedin에서 MariaDB 관계자가 링크를 올렸길래 봤더니 MariaDB가 Top 10에 올라왔습니다.

1,2위는 Oracle / MySQL가 계속 유지를 하고 있고요. Top 10 순위는 거의 변동이 없는데요. MariaDB가 많이 올라 왔네요.

Percona 서버는 1위가 내려가서 47위이네요.

clustrix는 87위로 많이 내려 갔네요.

OLAP database인 ClickHouse가 69위로 많이 올라 왔네요.

MariaDB가 Top10에 진입하게 된것이 ColumnStore엔진의 영향일수도 있겠네요.

 

opensource database MySQL 생태계가 더 커지고 있다고 봐야 겠네요.

Advertisements

MariaDB 10.4 로드맵

MariaDB 10.4 계획이 나왔습니다.

https://mariadb.com/kb/en/library/plans-for-mariadb-104/

 

현재 GA는 10.2.11이 최신이고요. 10.3은 alpha 개발중입니다.

알리바바 등의 투자를 받으면서 적극적인 방향으로 가는 듯 합니다.

 

10.4의 내용중에 개인적으로 관심이 가는 것들은 아래와 같습니다.

Compatibility

  • Oracle stage 2
  • CONNECT BY – AliSQL & MariaDB corporation & MariaDB foundation
  • MSSQL (?)

Distributed Storage Engine (stage 1 of 4)

  • Write scaling
  • Planning to be done in November-December

 

아직 10.3도 제대로 확인이 안되긴 했지만, 10.4까지 나오면 Oracle 마이그레이션 관련 이슈들이 많이 나올 듯 합니다. 중국쪽 투자는 받으면서 중국쪽 의견들을 많이 반영하는거 같기도 합니다.

 

Percona TokuDB

TokuDB를 Percona에서 인수한 이후에 뜸하다가 최근 다시 관심을 가지고 보니 Percona Server에 최적화하고 있습니다.

https://www.percona.com/software/mysql-database/percona-tokudb

 

Percona의 공식 문서를 보면 아래와 같이 Percona Server 5.7을 중심으로 제공을 하고 있습니다.

https://www.percona.com/doc/percona-server/LATEST/tokudb/tokudb_intro.html

Warning

Only the Percona supplied TokuDB engine should be used with Percona Server 5.7. A TokuDBengine downloaded from other sources is not compatible. TokuDB file formats are not the same across MySQL variants. Migrating from one variant to any other variant requires a logical data dump and reload.

 

MariaDB에서 TokuDB 배포는 glibc_214 파일에 포함을 하고 있습니다.

In the MariaDB binary tarballs, only the ones labeled "glibc_214" have TokuDB.

패키지 설치를 할때는 별도의 패키지를 설치해야 합니다.

In MariaDB 5.5.33 and MariaDB 10.0.5, TokuDB is in a separate package called mariadb-tokudb-engine-x.x, where x.x is the MariaDB series (5.5 or 10.0). The package is installed, for example on 5.5, as follows:

 

자세한 사항은 아래 설치 문서를 참고 하시면 됩니다.

https://mariadb.com/kb/en/library/enabling-tokudb/

 

MariaDB ColumnStore Single 설치 (CentOS7)

CentOS7 리눅스에 일반 사용자 계정으로 MariaDB ColumnStore를 Single 설치는 아래와 같이 합니다.

### MariaDB ColumnStore non-root user install
## CentOS Linux release 7.2.1511 (Core)
## MariaDB ColumnStore 1.0.10
## – single / internal storage
## – install_dir : /opt/

# yum -y install boost
# yum -y install expect perl perl-DBI openssl zlib file sudo libaio rsync snappy net-tools perl-DBD-MySQL

# adduser maria -u 416
# groupadd -g 815 dbroot
# usermod -g dbroot maria

# cat ~/.profile
export COLUMNSTORE_INSTALL_DIR=/opt/mariadb/columnstore
export PATH=$COLUMNSTORE_INSTALL_DIR/bin:$COLUMNSTORE_INSTALL_DIR/mysql/bin:/usr/sbin:$PATH
export LD_LIBRARY_PATH=$COLUMNSTORE_INSTALL_DIR/lib:$COLUMNSTORE_INSTALL_DIR/mysql/lib/mysql

# visudo
maria ALL=(ALL) NOPASSWD: ALL
#Defaults requiretty

# vi /etc/security/limits.conf
maria hard nofile 65536
maria soft nofile 65536

# chmod 777 /tmp
# chmod 777 /dev/shm

# cd /opt
# wget https://downloads.mariadb.com/ColumnStore/1.0.10/centos/x86_64/7/mariadb-columnstore-1.0.10-1-centos7.x86_64.bin.tar.gz
# tar xvfz mariadb-columnstore-1.0.10-1-centos7.x86_64.bin.tar.gz
# chown -R maria:dbroot mariadb
# ./mariadb/columnstore/bin/post-install –installdir=/opt/mariadb/columnstore
# /opt/mariadb/columnstore/bin/postConfigure -i /opt/mariadb/columnstore

# . /opt/mariadb/columnstore/bin/columnstoreAlias
# mcsadmin getsysteminfo
# mcsmysql

MariaDB (MySQL) 테이블 컬럼 data type 비교

MariaDB(MySQL)를 운영하다보면 예전 스키마와 비교를 해서 달라진 것들을 찾아야 할때가 있습니다.

information_schema에서 columns 테이블을 이용하면 아래 query로 테이블간에 다른 컬럼을 확인할 수 있습니다.

-- column의 data type 다른것 찾기
select a.table_name, a.column_name, a.data_type, a.column_type, b.table_name, b.column_name, b.data_type, b.column_type
from (
 select table_name, column_name, data_type, column_type from information_schema.columns where table_schema = 'ohnew' ) as a
inner join (
 select table_name, column_name, data_type, column_type from information_schema.columns where table_schema = 'ohnew_20170815' ) as b on a.table_name = b.table_name and a.column_name = b.column_name
where a.data_type <> b.data_type or a.column_type <> b.column_type
;

-- table의 column 갯수가 다른것 찾기
select a.table_name, a.column_cnt, b.table_name, b.column_cnt
from (
 select table_name, count(*) as column_cnt from information_schema.columns where table_schema = 'ohnew' group by table_name) as a
inner join (
 select table_name, count(*) as column_cnt from information_schema.columns where table_schema = 'ohnew_20170815' group by table_name) as b on a.table_name = b.table_name
where a.column_cnt <> b.column_cnt
;

 

위 쿼리는 ohnew라는 데이터베이스와 ohnew_201708 복원 데이터베이스간의 컬럼 비교 입니다. information_schema를 이용하면 좀 더 다양한 확인이 가능합니다.

MRO(Microsoft R Open)에서 MariaDB 연동하기

VisualStudio에서 MRO(Microsoft R Open)를 사용해서 MariaDB 연동을 할 수 있습니다.

연동과 관련해서 기본적인 정보는 MariaDB 웹사이트에서 참고를 했습니다.

https://mariadb.com/kb/en/mariadb/r-statistical-programming-using-mariadb-as-the-background-database/

 

Windows 환경에서 아래 프로그램들을 설치 합니다.

 

VisualStudio 메뉴에서 “R 도구 : R 대화형” 창을 실행합니다.

연동과 관련한 샘플 코드는 아래와 같습니다.

> install.packages("devtools")
Installing package into ‘C:/Users/corenet/Documents/R/win-library/3.3’
(as ‘lib’ is unspecified)
also installing the dependencies ‘mime’, ‘openssl’, ‘httr’, ‘memoise’, ‘whisker’, ‘digest’, ‘rstudioapi’, ‘git2r’, ‘withr’
trying URL 'https://mran.revolutionanalytics.com/snapshot/2016-11-01/bin/windows/contrib/3.3/mime_0.5.zip'
Content type 'application/zip'
 length 37486 bytes (36 KB)
downloaded 36 KB
trying URL 'https://mran.revolutionanalytics.com/snapshot/2016-11-01/bin/windows/contrib/3.3/openssl_0.9.5.zip'
Content type 'application/zip'
 length 3041433 bytes (2.9 MB)
downloaded 2.9 MB
trying URL 'https://mran.revolutionanalytics.com/snapshot/2016-11-01/bin/windows/contrib/3.3/httr_1.2.1.zip'
Content type 'application/zip'
 length 279235 bytes (272 KB)
downloaded 272 KB
trying URL 'https://mran.revolutionanalytics.com/snapshot/2016-11-01/bin/windows/contrib/3.3/memoise_1.0.0.zip'
Content type 'application/zip'
 length 23304 bytes (22 KB)
downloaded 22 KB
trying URL 'https://mran.revolutionanalytics.com/snapshot/2016-11-01/bin/windows/contrib/3.3/whisker_0.3-2.zip'
Content type 'application/zip'
 length 64813 bytes (63 KB)
downloaded 63 KB
trying URL 'https://mran.revolutionanalytics.com/snapshot/2016-11-01/bin/windows/contrib/3.3/digest_0.6.10.zip'
Content type 'application/zip'
 length 169707 bytes (165 KB)
downloaded 165 KB
trying URL 'https://mran.revolutionanalytics.com/snapshot/2016-11-01/bin/windows/contrib/3.3/rstudioapi_0.6.zip'
Content type 'application/zip'
 length 50945 bytes (49 KB)
downloaded 49 KB
trying URL 'https://mran.revolutionanalytics.com/snapshot/2016-11-01/bin/windows/contrib/3.3/git2r_0.15.0.zip'
Content type 'application/zip'
 length 2995624 bytes (2.9 MB)
downloaded 2.9 MB
trying URL 'https://mran.revolutionanalytics.com/snapshot/2016-11-01/bin/windows/contrib/3.3/withr_1.0.2.zip'
Content type 'application/zip'
 length 41304 bytes (40 KB)
downloaded 40 KB
trying URL 'https://mran.revolutionanalytics.com/snapshot/2016-11-01/bin/windows/contrib/3.3/devtools_1.12.0.zip'
Content type 'application/zip'
 length 432207 bytes (422 KB)
downloaded 422 KB
package ‘mime’ successfully unpacked and MD5 sums checked
package ‘openssl’ successfully unpacked and MD5 sums checked
package ‘httr’ successfully unpacked and MD5 sums checked
package ‘memoise’ successfully unpacked and MD5 sums checked
package ‘whisker’ successfully unpacked and MD5 sums checked
package ‘digest’ successfully unpacked and MD5 sums checked
package ‘rstudioapi’ successfully unpacked and MD5 sums checked
package ‘git2r’ successfully unpacked and MD5 sums checked
package ‘withr’ successfully unpacked and MD5 sums checked
package ‘devtools’ successfully unpacked and MD5 sums checked

The downloaded binary packages are in
 C:\Users\corenet\AppData\Local\Temp\Rtmps5hd4q\downloaded_packages

> devtools::install_github("rstats-db/DBI")
Downloading GitHub repo rstats-db/DBI@master
from URL https://api.github.com/repos/rstats-db/DBI/zipball/master
Installing DBI
"C:/PROGRA~1/MIE74D~1/RCLIEN~1/R_SERVER/bin/x64/R" --no-site-file --no-environ --no-save --no-restore --quiet CMD \
 INSTALL "C:/Users/corenet/AppData/Local/Temp/Rtmps5hd4q/devtools316445712257/rstats-db-DBI-f8c97f2" \
 --library="C:/Users/corenet/Documents/R/win-library/3.3" --install-tests

* installing *source* package 'DBI' ...
** R
** tests
** preparing package for lazy loading
** help
*** installing help indices
** building package indices
** installing vignettes
** testing if installed package can be loaded
* DONE (DBI)

> install.packages("Rcpp")
Installing package into ‘C:/Users/corenet/Documents/R/win-library/3.3’
(as ‘lib’ is unspecified)
trying URL 'https://mran.revolutionanalytics.com/snapshot/2016-11-01/bin/windows/contrib/3.3/Rcpp_0.12.7.zip'
Content type 'application/zip'
 length 3265183 bytes (3.1 MB)
downloaded 3.1 MB
package ‘Rcpp’ successfully unpacked and MD5 sums checked

The downloaded binary packages are in
 C:\Users\corenet\AppData\Local\Temp\Rtmps5hd4q\downloaded_packages

> devtools::install_github("rstats-db/RMariaDB")
Downloading GitHub repo rstats-db/RMariaDB@master
from URL https://api.github.com/repos/rstats-db/RMariaDB/zipball/master
Installing RMariaDB
Installing 1 package: BH
Installing package into ‘C:/Users/corenet/Documents/R/win-library/3.3’
(as ‘lib’ is unspecified)
trying URL 'https://mran.revolutionanalytics.com/snapshot/2016-11-01/bin/windows/contrib/3.3/BH_1.60.0-2.zip'
Content type 'application/zip'
 length 15529292 bytes (14.8 MB)
downloaded 14.8 MB
package ‘BH’ successfully unpacked and MD5 sums checked

The downloaded binary packages are in
 C:\Users\corenet\AppData\Local\Temp\Rtmp04yXqs\downloaded_packages
"C:/PROGRA~1/MIE74D~1/RCLIEN~1/R_SERVER/bin/x64/R" --no-site-file --no-environ --no-save --no-restore --quiet CMD INSTALL \
 "C:/Users/corenet/AppData/Local/Temp/Rtmp04yXqs/devtools105c21b41a26/rstats-db-RMariaDB-e8b68a2" --library="C:/Users/corenet/Documents/R/win-library/3.3" --install-tests

* installing *source* package 'RMariaDB' ...
** libs
rm -f RMariaDB.dll MariaBinding.o MariaConnection.o MariaResult.o MariaRow.o MariaTypes.o MariaUtils.o RcppExports.o connection.o driver.o result.o win32/timegm.o
"C:/PROGRA~1/MIE74D~1/RCLIEN~1/R_SERVER/bin/x64/Rscript.exe" "../tools/winlibs.R"
c:/Rtools/mingw_64/bin/gcc -m64 -I"C:/PROGRA~1/MIE74D~1/RCLIEN~1/R_SERVER/include" -DNDEBUG -I../windows/libmariadbclient-2.3.3/include/mariadb -I"C:/Users/corenet/Documents/R/win-library/3.3/Rcpp/include" -I"C:/Users/corenet/Documents/R/win-library/3.3/BH/include" -I"C:/swarm/workspace/External-R-3.3.2/vendor/extsoft/include" -O2 -Wall -std=gnu99 -mtune=core2 -c win32/timegm.c -o win32/timegm.o
c:/Rtools/mingw_64/bin/g++ -m64 -I"C:/PROGRA~1/MIE74D~1/RCLIEN~1/R_SERVER/include" -DNDEBUG -I../windows/libmariadbclient-2.3.3/include/mariadb -I"C:/Users/corenet/Documents/R/win-library/3.3/Rcpp/include" -I"C:/Users/corenet/Documents/R/win-library/3.3/BH/include" -I"C:/swarm/workspace/External-R-3.3.2/vendor/extsoft/include" -O2 -Wall -mtune=core2 -c MariaBinding.cpp -o MariaBinding.o
c:/Rtools/mingw_64/bin/g++ -m64 -I"C:/PROGRA~1/MIE74D~1/RCLIEN~1/R_SERVER/include" -DNDEBUG -I../windows/libmariadbclient-2.3.3/include/mariadb -I"C:/Users/corenet/Documents/R/win-library/3.3/Rcpp/include" -I"C:/Users/corenet/Documents/R/win-library/3.3/BH/include" -I"C:/swarm/workspace/External-R-3.3.2/vendor/extsoft/include" -O2 -Wall -mtune=core2 -c MariaConnection.cpp -o MariaConnection.o
c:/Rtools/mingw_64/bin/g++ -m64 -I"C:/PROGRA~1/MIE74D~1/RCLIEN~1/R_SERVER/include" -DNDEBUG -I../windows/libmariadbclient-2.3.3/include/mariadb -I"C:/Users/corenet/Documents/R/win-library/3.3/Rcpp/include" -I"C:/Users/corenet/Documents/R/win-library/3.3/BH/include" -I"C:/swarm/workspace/External-R-3.3.2/vendor/extsoft/include" -O2 -Wall -mtune=core2 -c MariaResult.cpp -o MariaResult.o
c:/Rtools/mingw_64/bin/g++ -m64 -I"C:/PROGRA~1/MIE74D~1/RCLIEN~1/R_SERVER/include" -DNDEBUG -I../windows/libmariadbclient-2.3.3/include/mariadb -I"C:/Users/corenet/Documents/R/win-library/3.3/Rcpp/include" -I"C:/Users/corenet/Documents/R/win-library/3.3/BH/include" -I"C:/swarm/workspace/External-R-3.3.2/vendor/extsoft/include" -O2 -Wall -mtune=core2 -c MariaRow.cpp -o MariaRow.o
c:/Rtools/mingw_64/bin/g++ -m64 -I"C:/PROGRA~1/MIE74D~1/RCLIEN~1/R_SERVER/include" -DNDEBUG -I../windows/libmariadbclient-2.3.3/include/mariadb -I"C:/Users/corenet/Documents/R/win-library/3.3/Rcpp/include" -I"C:/Users/corenet/Documents/R/win-library/3.3/BH/include" -I"C:/swarm/workspace/External-R-3.3.2/vendor/extsoft/include" -O2 -Wall -mtune=core2 -c MariaTypes.cpp -o MariaTypes.o
c:/Rtools/mingw_64/bin/g++ -m64 -I"C:/PROGRA~1/MIE74D~1/RCLIEN~1/R_SERVER/include" -DNDEBUG -I../windows/libmariadbclient-2.3.3/include/mariadb -I"C:/Users/corenet/Documents/R/win-library/3.3/Rcpp/include" -I"C:/Users/corenet/Documents/R/win-library/3.3/BH/include" -I"C:/swarm/workspace/External-R-3.3.2/vendor/extsoft/include" -O2 -Wall -mtune=core2 -c MariaUtils.cpp -o MariaUtils.o
c:/Rtools/mingw_64/bin/g++ -m64 -I"C:/PROGRA~1/MIE74D~1/RCLIEN~1/R_SERVER/include" -DNDEBUG -I../windows/libmariadbclient-2.3.3/include/mariadb -I"C:/Users/corenet/Documents/R/win-library/3.3/Rcpp/include" -I"C:/Users/corenet/Documents/R/win-library/3.3/BH/include" -I"C:/swarm/workspace/External-R-3.3.2/vendor/extsoft/include" -O2 -Wall -mtune=core2 -c RcppExports.cpp -o RcppExports.o
c:/Rtools/mingw_64/bin/g++ -m64 -I"C:/PROGRA~1/MIE74D~1/RCLIEN~1/R_SERVER/include" -DNDEBUG -I../windows/libmariadbclient-2.3.3/include/mariadb -I"C:/Users/corenet/Documents/R/win-library/3.3/Rcpp/include" -I"C:/Users/corenet/Documents/R/win-library/3.3/BH/include" -I"C:/swarm/workspace/External-R-3.3.2/vendor/extsoft/include" -O2 -Wall -mtune=core2 -c connection.cpp -o connection.o
c:/Rtools/mingw_64/bin/g++ -m64 -I"C:/PROGRA~1/MIE74D~1/RCLIEN~1/R_SERVER/include" -DNDEBUG -I../windows/libmariadbclient-2.3.3/include/mariadb -I"C:/Users/corenet/Documents/R/win-library/3.3/Rcpp/include" -I"C:/Users/corenet/Documents/R/win-library/3.3/BH/include" -I"C:/swarm/workspace/External-R-3.3.2/vendor/extsoft/include" -O2 -Wall -mtune=core2 -c driver.cpp -o driver.o
c:/Rtools/mingw_64/bin/g++ -m64 -I"C:/PROGRA~1/MIE74D~1/RCLIEN~1/R_SERVER/include" -DNDEBUG -I../windows/libmariadbclient-2.3.3/include/mariadb -I"C:/Users/corenet/Documents/R/win-library/3.3/Rcpp/include" -I"C:/Users/corenet/Documents/R/win-library/3.3/BH/include" -I"C:/swarm/workspace/External-R-3.3.2/vendor/extsoft/include" -O2 -Wall -mtune=core2 -c result.cpp -o result.o
c:/Rtools/mingw_64/bin/g++ -m64 -shared -s -static-libgcc -o RMariaDB.dll tmp.def MariaBinding.o MariaConnection.o MariaResult.o MariaRow.o MariaTypes.o MariaUtils.o RcppExports.o connection.o driver.o result.o -L../windows/libmariadbclient-2.3.3/lib/x64 -lmariadbclient -lssl -lcrypto -lgdi32 -lz -lws2_32 win32/timegm.o -pthread -LC:/swarm/workspace/External-R-3.3.2/vendor/extsoft/lib/x64 -LC:/swarm/workspace/External-R-3.3.2/vendor/extsoft/lib -LC:/PROGRA~1/MIE74D~1/RCLIEN~1/R_SERVER/bin/x64 -lR
installing to C:/Users/corenet/Documents/R/win-library/3.3/RMariaDB/libs/x64
** R
** tests
** preparing package for lazy loading
** help
*** installing help indices
** building package indices
** testing if installed package can be loaded
* DONE (RMariaDB)

> library(DBI)
> library(RMariaDB)
> con <- dbConnect(MariaDB(), user = "ohnew", password = "*****", dbname = "ohnew", host = "192.168.0.187")
> dbListTables(con)
[1] "ct1" "t1" 
> dbListFields(con, "t1")
[1] "c1" "c2"
> res <- dbSendQuery(con, "select count(*) from t1")
> dbFetch(res)
 count(*)
1 1
> dbClearResult(res)
[1] TRUE
> dbDiscon

R 통계언어에서 MariaDB를 사용하기

R 통계언어에서 MariaDB를 사용하기

  • R 언어 개요

R은 통계 연산과 그래픽을 하기 위한 환경을 제공하는 언어입니다.
R은 다양한 통계적 기법(회귀분석, 군집분석, 시계열 분석, …)과 그래픽 기술을 다양하게 제공합니다.

R의 강점중 하나는 수학적 기호와 계산식이 필요한 양질의 그래픽 결과를 제공한다는 겁니다. 기본적인 그래픽도 좋지만 사용자가 모든 결과를 프로그램 할 수 있습니다.

 

  • R 언어 환경

R은 데이터의 수집, 가공, 머신러닝과 그래픽 처리까지 통합적으로 제공하는 언어입니다.

• 효과적인 데이터 처리와 스토리지 관리
• 배열과 행렬 연산
• 대량의 데이터 분석을 위한 통합적인 툴
• 모니터와 인쇄물에 데이터 분석을 통한 그래픽 기능
• 간단하고 효율적으로 사용자 재귀함수와 데이터 입출력이 가능한 프로그래밍 언어

 

  • R 언어에서 MariaDB 사용하기

– R 설치

R에서 MariaDB를 사용하기 위한 몇 가지 기본 방법 / 팁은 다음과 같습니다.

A. 추천하는 R 배포판은 “Microsoft R Open” 입니다.
https://mran.microsoft.com/open/

B. R GUI 사용은 RStudio Desktop 이나 RStudio Server를 추천합니다. Microsoft Visual Studio 2015 or 2017 툴도 좋습니다.
https://www.rstudio.com/products/rstudio/
https://www.visualstudio.com/vs/rtvs/

“Microsoft R Open”과 “MariaDB Server”를 같은 서버에 설치거나 다른 서버에 설치할 수 있습니다. R과 MariaDB는 ODBC 연결을 이용해서 사용합니다.

 

R과 MariaDB 연동
R 언어에서 MariaDB 서버의 데이터 연결은 RODBC R Package를 추천합니다.
https://cran.r-project.org/web/packages/RODBC/index.html

RODBC 패키지 관리자에게 버그 보고서를 보내려면 다음 R 문을 사용하십시오.
– bug.report (package = “RODBC”)

RODBC 패키지를 사용하는 방법은 아래 문서를 참고하시면 됩니다.
https://cran.r-project.org/web/packages/RODBC/vignettes/RODBC.pdf

RODBC 패키지에서 사용하기 위해서는 MariaDB ODBC 커넥터가 설치되어 있어야합니다.
https://downloads.mariadb.org/

아래의 다른 방법으로도 R언어에서 MariaDB 서버의 데이터를 이용할 수 있습니다.
– “readr” R 패키지를 이용한 CSV 파일 읽고 쓰기. MariaDB의 “LOAD DATA INFILE” 이용.
– “RMySQL” R 라이브러리는 대용량의 데이터를 처리할때는 권장하지 않습니다.
– “Rcpp”를 기반으로 한 최신의 MariaDB 클라이언트는 Github의 RMariaDB 패키지에서 사용할 수 있습니다. : https://github.com/rstats-db/RMariaDB

RMariaDB 패키지의 3.4.1+ 버전은 아래 명령으로 설치할 수 있습니다.
– install.packages(“RMariaDB”)

RMariaDB 패키지는 MariaDB의 C Connector를 사용합니다.
https://downloads.mariadb.org/connector-c/

 

  • R Programming Resources

R 언어를 배우기 위한 추천 도서는 아래와 같습니다.
– R Cookbook (O’Reilly Media; Paul Teetor): http://shop.oreilly.com/product/9780596809164.do
– R Graphics Cookbook (O’Reilly Media; Winston Chang): http://shop.oreilly.com/product/0636920023135.do

두 도서의 책은 O’Reilly Store 나 Amazon에서 구입할 수 있습니다.
두 도서의 발췌 부분은 http://www.cookbook-r.com/에서 찾을 수 있습니다.

아래 리소스들도 참고하시면 좋습니다.
– Rstudio Cheatsheets : https://www.rstudio.com/resources/cheatsheets/
– Base R 레퍼런스 카드 : https://cran.r-project.org/doc/contrib/Short-refcard.pdf
– R 관련 검색 엔진 (Google 기반). http://rseek.org/

 

출처 : https://mariadb.com/kb/en/mariadb/r-statistical-programming-using-mariadb-as-the-background-database/

 

MySQL / MariaDB 랜섬웨어 복구

최근 랜섬웨어(Ransomware) 감염과 관련한 이슈들이 종종 있습니다.

대부분 감염이후에 복구를 할 수 없을때가 많기는 한데요. 복호화 방법이 있을때 데이터를 살릴 수 있습니다. 복구와 관련해서 MySQL / MariaDB의 데이터가 문제가 있는 경우가 있습니다.

주요 문제들은 ibdata 파일의 손상입니다. ibdata 파일은 InnoDB 엔진을 사용하면서 데이터와 로그들이 저장되는 파일로 해당 파일이 손상을 입으면 데이터 전체가 문제가 될 가능성이 큽니다.

ibdata 파일등이 손상을 입었을때 아래 복구 방법들을 이용해서 데이터를 살릴 수 있습니다.

복구를 할때는 항상 원본 파일은 백업을 해두셔야 합니다. 복구 실패로 다시 시도를 해야 할 수 있으니까요. 랜섬웨어에 걸리지 않도록 보안에 신경을 써야 하는게 우선이고요.

카카오뱅크 – 금융 오픈소스 – MariaDB

카카오뱅크, 은행 IT에 새 이정표를 제시했다

https://byline.network/2017/08/8-2/

 

해당 글을 보니 내부 사정을 자세히 알고 있는 사람을 통해 정보를 얻은것 같다.

글에서 페르코나라고 Percona Server for MySQL에 대해서 자세하게 언급을 하고 있다. 페르코나가 아니라 퍼코나라고 했으면 좋겠다. (글을 읽을때 새로운 데이터베이스인가하고 헷갈림)

MariaDB에서 Percona Server for MySQL로 변경을 한것이 고가용성(HA) 이중화에 대한 구성이 어렵다고 했다. 같은 소스를 사용하기에 기술력의 차이는 MariaDB와 Percona의 차이는 없다고 생각한다. 기술력이외의 다른 이슈들이 있었을 것으로 생각된다.

 

Percona Colin 인터뷰 기사를 참고하면 관련 내용을 조금 더 알 수 있기도 합니다.

http://kgmaeil.net/detail.php?number=106963