10 lý do nên dùng MariaDB thay cho MySQL

Lời nói đầu

MariaDB là một sản phẩm được cộng đồng lập trình viên fork từ sourcecode của MySQL. MariaDB được phát triển nhờ sự dẫn dắt của những nhà phát triển ban đầu của MySQL, do lo ngại khi MySQL bị Oracle Corporation mua lại.

MariaDB được định hướng để duy trì khả năng tương thích cao với MySQL, để đảm bảo khả năng hỗ trợ về thư viện đồng thời kết hợp một cách tốt nhất với các API và câu lệnh của MySQL. MariaDB đã có công cụ hỗ lưu trữ XtraDB thay cho InnoDB, cũng như một công cụ lưu trữ mới, Aria, dự định sẽ là một công cụ giao dịch và phi giao dịch thậm chí có thể bao gồm trong các phiên bản MySQL trong tương lai

Nhà phát triển chính của MariDB là Michael "Monty" Widenius, một trong những người sáng lập của MySQL AB và là người sáng lập Chương trình Monty AB. MariaDB được đặt tên theo con gái của Monty, Maria, tương tự như cách MySQL được đặt tên theo con gái của ông là My.

1. Quá trình phát triển MariaBD có tính mở và sôi động hơn

Từ phiên bản MySQL 5.7, commit logs chỉ ra rằng toàn bộ commits đóng góp đều đến từ Oracle. Hầu hết các commit messages tham chiếu đến issue numbers chỉ có nội bộ của Oracle xem được và không được public thảo luận bên ngoài. Hơn nữa không có commit trong suốt 3 tháng vì dường như Oracle chỉ cập nhật public code repository trong những gói release lớn

![alt](https://drive.google.com/uc?id=197M73qE_HuNvZtz7-RBpDhJR000YE95T&export=download)

Trái lại với hiện trang đó, việc phát triển MariaBD được công khai 1 cách hết sức minh bạch. Cộng đồng mã nguồn mở có thể dễ dàng đóng góp cho sự phát trển của MariaDB.

2. Release về vấn đề bảo mật nhanh hơn và rõ ràng hơn

Oracle thực hiện việc release các thông tin về bảo mật của MySQL cứ mỗi 2 tháng 1 lần. Đôi khi MySQL được nâng cấp về bảo mật, nhưng tài liệu mô tả thì lại không được đồng bộ theo. Có rất nhiều than phiền rằng, tài liệu mô tả không chỉ ra issue nào đã được fix hay commit nào đã fix issue nào.

![alt](https://drive.google.com/uc?id=1L5HPNU9PbfeRlt5OS_orF0dZ_Wp1lvbP&export=download)

MariaDB được nâng cấp và đưa ra tài liệu mô tả về việc đó 1 cách đồng thời, cập nhật liên tục và rõ ràng.

3. Có thêm nhiều tính năng hay

MySQL 5.7 có thêm tính năng hay là hỗ trợ GIS. Tuy nhiên MariaDB lại có nhiều tính năng mới và release sớm hơn. Ví dụ như tính năng về GIS đã được MariaDB giới thiệu ở phiên bản 5.3 rồi. Ngoài ra việc hỗ trợ Dynamic column của MariaDB rất thú vị vì nó cho phép function thuộc loại NoSQL. Do đó interface của 1 database có thể cung cấp cả SQL và "not only SQL".

![alt](https://drive.google.com/uc?id=10UQZna6RUIbco_c3h4QAH5vy7PweaRxT&export=download)

4. Có nhiều storage engine hơn

MariaDB có nhiều storage engine và các plugin như Connect và Cassandra storage engines cho NoSQL backends hay rolling migrations từ legacy databases, Spider cho sharding, TokuDB với fractal indexes. Những plugins đó cũng có ở MySQL nhưng là 3rd parties, còn ở MariaDB chúng là 1 phần của bản release chính thức.

![alt](https://drive.google.com/uc?id=1H8_rmClUlWpZpZ15FM0vKDbvVw9p2hAV&export=download)

5. Hiệu suất tốt hơn

MariaDB cải tiến query optimizer tốt hơn rất nhiều và còn nhiều cải tiến liên quan đến hiểu suất khác nữa. Benchmarks hiện tại chỉ ra rằng MariaDB nhanh hơn MySQL.

![alt](https://drive.google.com/uc?id=10hxR5QHIxcj6Uvk-io-FZo06mtHIqiV3&export=download)

6. Galera

Galera là một loại clustering engine mới, không giống như master-slave replication truyền thống của MySQL, Galera cung cấp master-master replication và do đó cho phép một kiểu kiến ​​trúc khả năng mở rộng mới cho MySQL / MariaDB.

![alt](https://drive.google.com/uc?id=1O6o-aWSpBcv_YWhAZevlXBvMl4K-8-vd&export=download)

Mặc dù sự phát triển Galera đã bắt đầu vào năm 2007, nhưng nó chưa bao giờ là một phần của phiên bản Oracle MySQL chính thức trong khi cả Percona và MariaDB đều đã vận trong nhiều năm.

7. Oracle có phần không mặn mà với MySQL

Nhiều người đã bày tỏ sự không tin tưởng vào động lực thực sự và lợi ích của Oracle trong việc giữ MySQL còn tồn tại. Oracle không được phép mua lại Sun Microsystems, vốn sở hữu MySQL, do luật cạnh tranh của EU.

![alt](https://drive.google.com/uc?id=1Xhk24lryFS14e6PODe82Dz7hF0unQbzh&export=download)

MySQL là đối thủ cạnh tranh lớn nhất với cơ sở dữ liệu ban đầu của Oracle. Tuy nhiên, Ủy ban châu Âu đã chấp thuận thỏa thuận này sau khi Oracle công bố một lời hứa chính thức để giữ cho MySQL còn sống và cạnh tranh. Tài liệu đó bao gồm một ngày hết hạn là ngày 14 tháng 12 năm 2014 và ngày đó đã qua.

8. MariaDB đã được các ông lớn sử dụng

Năm 2013, có các tin tốt như việc Wikipedia migrate từ MySQL sang MariaDB hay việc Google dùng MariaDB cho hộ thống nội bộ của họ thay vì dùng MySQL. Một trong những nhà tài trợ của Quỹ MariaDB là Automattic, công ty đứng sau WordPress.com.

![alt](https://drive.google.com/uc?id=1V0i4AHfB-Wxvdv2-TuGhnANBVVZ-N7rC&export=download)

Các ví dụ đáng chú ý khác là booking.com và Craigslist. Fedora và OpenSUSE đã có MariaDB làm cơ sở dữ liệu SQL mặc định trong nhiều năm. Với việc phát hành Red Hat Enterprise Linux 7 và SUSE Enterprise Linux 12, cả hai nhà cung cấp này đều vận chuyển MariaDB thay vì MySQL và hứa hẹn sẽ hỗ trợ các phiên bản MariaDB trong suốt thời gian phát hành phân phối chính, tức là lên đến 13 năm.

9. Tính tương thích và dễ dàng migrate

MariaDB 5.5 là một sự thay thế hoàn toàn cho MySQL 5.5. Migrate đến MariaDB dễ dàng như việc chạy lênh apt-get install mariadb-server hoặc lệnh tương đương trong Linux

![alt](https://drive.google.com/uc?id=1wvwuWQuoaf3rpoAHaOxqCE10_I9jlbR9&export=download)

10. Từ năm 2015, việc migration có thể trở nên khó khăn

Trong các phiên bản MariaDB 10.0 và MySQL 5.6, việc fork sourcecode từ MySQL để phát triển MariaBD đã bắt đầu phân tách phần nào nhưng hầu hết người dùng có thể vẫn có thể nâng cấp từ 5.6 lên 10.0 mà không gặp vấn đề.

![alt](https://drive.google.com/uc?id=1qvlyMm8uTV_Ro9L14UJsGjX0ajBT49i0&export=download)

Khả năng tương thích giữa 5.7 và 10.1 trong tương lai không được biết, vì vậy bây giờ là thời gian lý tưởng để migrate trong khi chưa có rắc rối xảy ra. Nếu tương thích nhị phân phát sinh trong tương lai, quản trị viên cơ sở dữ liệu vẫn có thể di chuyển dữ liệu của họ bằng cách đổ nó và nhập nó vào cơ sở dữ liệu mới.

https://seravo.fi/2015/10-reasons-to-migrate-to-mariadb-if-still-using-mysql

https://vi.wikipedia.org/wiki/MariaDB