MariaDB
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> MariaDB

Có gì mới trong MariaDB 10.4

MariaDB 10.4 là một nhánh phát triển hiện tại của MariaDB. Gần đây, vào ngày 21 tháng 5, Ứng cử viên phát hành thứ ba (10.4.5) đã được phát hành, đưa chúng ta đến gần hơn với bản phát hành chính thức. Đó là lý do tại sao chúng tôi nghĩ rằng có thể là một ý kiến ​​hay khi xem xét các tính năng mới của 10.4. Chúng tôi cũng sẽ chia sẻ một số suy nghĩ về một bài đăng trên blog gần đây được xuất bản bởi MariaDB Corporation. Để biết thông tin về bản phát hành, bạn có thể tìm thấy tất cả các chi tiết trong bảng thay đổi của MariaDB 10.4.0.

Thay đổi Hiệu suất

Các bộ ký tự Unicode thường chậm hơn các bộ mã như latin1, chủ yếu là do kích thước của chúng. MySQL 8.0 đã mang lại những cải tiến đáng kể trong lĩnh vực này và MariaDB 10.4 cũng sẽ nhanh hơn đáng kể so với 10.3 về mặt này. Đó là một cải tiến khá quan trọng - mọi người thực sự thích sử dụng biểu tượng cảm xúc, đòi hỏi phải bật UTF8. Một số công việc đã được thực hiện trong trình tối ưu hóa - MariaDB 10.4 sẽ hoạt động tốt hơn cho các truy vấn con IN () vì bây giờ có thể đẩy các điều kiện vào các truy vấn con cụ thể hóa.

Khởi động và dừng InnoDB có thể mất một lúc, tùy thuộc vào lượng dữ liệu trong nhật ký làm lại. MariaDB 10.4 sẽ cải thiện khởi động, tắt máy và xóa. Những cải tiến như vậy đặc biệt quan trọng do sự phổ biến của các công cụ sao lưu nóng như mariabackup và xtrabackup. Cuối cùng, những công cụ đó sẽ trải qua quá trình khởi động InnoDB từ một lần tắt máy không sạch khi chúng áp dụng các bản ghi làm lại, do đó mọi cải tiến trong lĩnh vực đó sẽ giảm thời gian cần thiết để khôi phục các bản sao lưu.

Thay đổi InnoDB

MariaDB 10.4 đã nhận được một hoạt động DROP COLUMN tức thì. Giờ đây, bạn cũng có thể sắp xếp lại thứ tự các cột trong bảng mà không cần phải xây dựng lại nó. Chúng tôi không thể nhấn mạnh rằng điều này quan trọng như thế nào. Bạn có thể tự hỏi những hoạt động phổ biến nhất mà bạn làm trong môi trường sản xuất là gì? Chúng tôi sẽ nói rằng nó đang thêm hoặc xóa một chỉ mục. Một thao tác phổ biến nhất khác sẽ là các thao tác trên cột - thêm một cột mới và xóa cột hiện có. Cho đến nay, cách tiếp cận phổ biến nhất là sử dụng các công cụ bên ngoài để thực hiện công việc:pt-online-schema-change hoặc gần đây là gh-ost. Cả hai đều có những hạn chế (ví dụ:gh-ost không hoạt động với Galera Cluster), điều này có thể khiến bạn không thể sử dụng chúng trên hệ thống của mình. Đặc biệt khó khăn là các khóa nước ngoài. Với DROP COLUMN tức thì (tức thì ADD COLUMN đã có sẵn), một phần lớn của các thay đổi giản đồ có thể được thực hiện đột xuất mà không cần lập lịch và lập kế hoạch chi tiết, như việc này phải được thực hiện ngay bây giờ. Điều quan trọng cần ghi nhớ là những thay đổi tức thì là những gì chúng tôi muốn có. Có những thay đổi lược đồ không chặn, như tạo chỉ mục, nhưng các hoạt động như vậy đặt ra thách thức nghiêm trọng khi bản sao được sử dụng vì chúng gây ra độ trễ sao chép. Do đó, mặc dù hoạt động có thể đã được thực hiện trên hệ thống trực tiếp, chúng tôi thích sử dụng các giải pháp thay thế như pt-online-schema-change để giữ quyền kiểm soát tốt hơn đối với quy trình.

Đây không phải là cải tiến duy nhất về cách các thay đổi lược đồ được thực thi. MariaDB 10.4 sẽ được hưởng lợi từ việc mở rộng cột VARCHAR nhanh hơn, bổ sung các thay đổi về bộ ký tự và đối chiếu trên các cột không được lập chỉ mục sẽ diễn ra ngay lập tức.

Những thay đổi chung

Một trong những thay đổi lớn nhất là thay đổi trong quản lý người dùng. Bảng Mysql.host sẽ không được tạo, bảng mysql.user không được dùng nữa. Tài khoản người dùng và đặc quyền toàn cầu sẽ được giữ trong bảng mysql.global_priv. Đây có thể là một thay đổi nghiêm trọng đối với tất cả các công cụ (bao gồm cả ClusterControl), có tùy chọn quản lý người dùng MySQL và MariaDB - các trường hợp mới sẽ phải được viết để bao gồm quản lý người dùng trong MariaDB 10.4 trở đi. Mặc dù chúng tôi thừa nhận rằng những thay đổi là cần thiết, nhưng điều này chắc chắn không giúp duy trì các công cụ cho cả MariaDB và MySQL, làm cho bối cảnh công cụ thậm chí còn bị chia rẽ hơn so với hiện tại. Nói về người dùng, MariaDB 10.4 đi kèm với một tùy chọn cho mật khẩu người dùng hết hạn. Đây chắc chắn là một bước đi theo hướng tốt - nó giúp thực thi các phương pháp hay về quản lý mật khẩu.

Mặc dù chúng tôi sẽ đề cập chi tiết hơn về vấn đề này trong một blog riêng, nhưng chúng tôi phải đề cập ở đây hỗ trợ cho Galera 26.4 - MariaDB 10.4 sẽ được hưởng lợi từ phiên bản Galera mới với các tính năng như sao chép trực tuyến hoặc SST được cải thiện nhờ khóa dự phòng.

Cuối cùng, trong MariaDB 10.4, bạn có thể đặt sql_mode =MSSQL. Đây là một triển khai ban đầu nhưng sql_mode =ORACLE cũng là một triển khai ban đầu tại một số điểm. Điều này cho thấy MariaDB tập trung vào khách hàng doanh nghiệp - nếu khách hàng của Oracle quyết định di chuyển, rất có thể việc áp dụng MariaDB trong Microsoft SQL Server cũng sẽ phát triển vì nhiều tính năng hơn sẽ được thêm vào và việc di chuyển sẽ ít gặp vấn đề hơn.

MariaDB Là một ngã ba

Gần đây, chúng tôi đã thấy một bài đăng trên blog giải thích quan điểm của MariaDB về các thay đổi và khả năng tương thích của InnoDB. Ý chính là MariaDB sẽ không còn hợp nhất các tính năng của InnoDB từ MySQL nữa, trọng tâm sẽ là sự ổn định và cải thiện hiệu suất được thực hiện bởi MariaDB. Về cơ bản, điều này có nghĩa là MariaDB sẽ trở nên không tương thích với MySQL. Ngay cả khi bạn có thể thực hiện nâng cấp nhị phân trong quá khứ, điều này sẽ không thể thực hiện được trong tương lai. Thậm chí ngay bây giờ nó có thể khó thực hiện. Điều này làm tăng tầm quan trọng của các công cụ như mydumper / myloader vì sao lưu hợp lý sẽ là cách duy nhất để di chuyển. Điều tốt là MariaDB sẽ có thể sở hữu sự ổn định của fork InnoDB của họ - họ sẽ không phải đối phó với các vấn đề do các nhà phát triển thượng nguồn đưa ra, do đó chúng tôi có thể mong đợi ít lỗi hơn được đưa ra.

Về hiệu suất, chúng ta phải đợi các điểm chuẩn nhưng với dữ liệu lịch sử, chúng ta có thể cho rằng MariaDB sẽ chậm hơn MySQL. Trong các điểm chuẩn trước đây, những gì chúng ta thường thấy là sự gia tăng hiệu suất cho MariaDB bắt đầu khi phiên bản InnoDB gần đây hơn đã được tích hợp. Điều này sẽ không còn là trường hợp khiến chúng tôi tự hỏi MariaDB sẽ đánh giá như thế nào trong so sánh hiệu suất kể từ bây giờ và liệu những cải tiến được giới thiệu bởi MariaDB có đủ để theo kịp với MySQL 8.0 và các phiên bản khác hay không.

Đối với người dùng chúng tôi, tất cả những điều này có nghĩa là MariaDB 10.4 phải ổn định hơn so với các bản phát hành trước. Điều đó cũng có nghĩa là cuối cùng chúng ta sẽ phải tìm hiểu nội dung bên trong của hai bộ máy lưu trữ khác nhau - đặc biệt nếu chúng ta quan tâm đến hiệu suất. Điều này là xa lý tưởng nhưng đó là cách của nó. Các công cụ sẽ phải được thiết kế để hoạt động với một hoặc phiên bản khác của InnoDB (hoặc công việc bổ sung sẽ phải được thêm vào để hỗ trợ cả MySQL và MariaDB). Chúng tôi sẽ theo dõi xem điều này sẽ tiến triển như thế nào. Khi bạn nghĩ về nó, đó không phải là một động thái đáng ngạc nhiên - MariaDB luôn phải dành thời gian để tích hợp với phiên bản InnoDB gần đây hơn. Với ngày càng nhiều tính năng không tương thích được thêm vào MariaDB và những thay đổi lớn được giới thiệu trong MySQL 8.0, bạn nên tập trung vào việc phát triển chức năng mới hơn là chuyển InnoDB không tương thích từ MySQL ngược dòng.

Chúng tôi hy vọng bài đăng blog ngắn này đã cung cấp cho bạn thông tin chi tiết về những thay đổi sẽ ảnh hưởng đến hệ thống sản xuất khi chuyển sang MariaDB 10.4.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Cách LEAST () hoạt động trong MariaDB

  2. Cách hoạt động của COALESCE () trong MariaDB

  3. Cách ADDDATE () hoạt động trong MariaDB

  4. Đối phó với các mạng không đáng tin cậy khi tạo giải pháp HA cho MySQL hoặc MariaDB

  5. Mã hóa MariaDB đầy đủ lúc nghỉ và đang chuyển để bảo vệ dữ liệu tối đa - Phần thứ hai