Về "Động" , định dạng chỉ dành cho Barracuda không nén, rất ít thay đổi từ nhỏ gọn, chủ yếu là về cách các đốm màu (và bất kỳ trường rất động nào) được lưu trữ . Tôi chưa bao giờ có bất kỳ vấn đề nào với compact so với động, vì vậy tôi có thể đề xuất một cách an toàn cho tính năng động của Barracuda. Hãy nhớ rằng Barracuda cũng hỗ trợ các định dạng hàng dự phòng và nhỏ gọn cũ .
Bài báo mà bạn đang đề cập có lẽ đã quá cũ (5.1) và, như Peter Z., CEO của Percona, đã đề cập đến các bình luận có thể hơi sai lệch. Điều đó không có nghĩa là nén không thể là một lợi ích lớn tùy thuộc vào khối lượng công việc. Tuy nhiên, tôi khuyên bạn nên dùng thử trên các phiên bản> = 5.6, vì cả Facebook và Oracle đã thực hiện nhiều cải tiến về nó.
Như nhiều tài liệu tham khảo gần đây, tôi muốn giới thiệu cho bạn:
Đặc biệt, tôi thích các tài liệu của Facebook vì họ là bên thứ ba (không cần chương trình nghị sự) và họ có một trong những triển khai MySQL lớn nhất trên thế giới. Như bạn có thể thấy họ đã có những thiết lập rất thành công khi kết hợp công nghệ SSD với nén.
Nó sẽ có lợi cho bạn? Điều đó sẽ phụ thuộc vào khối lượng công việc, bộ công việc và thiết lập của bạn (IOPS, bộ nhớ) . Tùy thuộc vào việc bạn bị ràng buộc IO, bị ràng buộc CPU hay bị ràng buộc bộ nhớ, việc nén có thể ảnh hưởng tiêu cực trong một số trường hợp, bằng cách thêm CPU, yêu cầu bộ nhớ (cả trang nén và không nén được lưu trữ trên nhóm bộ đệm InnoDB) hoặc tạo ra quá nhiều lỗi nén, tăng cường độ trễ. Nó cũng phụ thuộc vào loại dữ liệu: nén có thể giúp ích rất nhiều cho các đốm văn bản lớn, nhưng nó có thể vô dụng với dữ liệu đã được nén.
Theo kinh nghiệm của tôi, trong thực tế, có những người mà nén là một chén thánh của hiệu suất và rất hài lòng với nó, nhưng trong các trường hợp khác, chúng tôi phải quay lại dữ liệu không nén khi không thu được dữ liệu. Mặc dù khối lượng công việc viết rất nặng có vẻ như là một môi trường tồi tệ để nén, nhưng trong trường hợp cụ thể của bạn, bạn không bị ràng buộc bởi cpu và bị ràng buộc bởi bộ nhớ, nhưng iops bị ràng buộc có thể không hữu ích.
Nói chung, rất khó để dự đoán kết quả, thông thường bạn nên thiết lập môi trường kiểm tra để đo điểm chuẩn và sau đó khám phá lý do tại sao bạn nhận được kết quả tốt hơn hoặc xấu hơn (và theo cách đó bạn có thể chơi với các kích thước khối khác nhau, v.v.). Barracuda hoàn toàn an toàn. Nén có thể hoặc không dành cho bạn. Và bạn luôn có thể thử nghiệm các phương pháp nén khác như nén các đốm màu phía máy khách (ví dụ: nếu bạn kết thúc bằng CPU) hoặc các công cụ của bên thứ 3 khác như RocksDB và TokuDB , trong đó nén là ưu tiên lớn, vì nó được tập trung trong hiệu suất cho các bộ dữ liệu lớn hơn InnoDB có thể xử lý.
Tóm lại: Những lý do chính để sử dụng Barracuda là xử lý BLOB, innodb_large_prefix
tính tương thích (chỉ mục lớn) và nén. Dynamic, trên MySQL 8.0 hiện là định dạng tệp mặc định.