Phỏng vấn Branimir Lambov (IBM): Sự tiến hóa của Cassandra, cấu trúc Trie và tương lai của ACID

26 tháng 4, 2026·5 phút đọc

Branimir Lambov, một thành viên chủ chốt của dự án Cassandra tại IBM, chia sẻ sâu về các cải tiến kiến trúc như việc thay thế Skiplist bằng Trie để tối ưu hóa bộ nhớ, chiến lược nén dữ liệu mới trong Cassandra 5, cùng quan điểm thú vị về Java và giới hạn của AI trong lập trình.

Phỏng vấn Branimir Lambov (IBM): Sự tiến hóa của Cassandra, cấu trúc Trie và tương lai của ACID

Branimir Lambov từ IBM chia sẻ về hành trình hơn một thập kỷ gắn bó với Cassandra, những cải tiến mang tính cách mạng trong Cassandra 5 và quan điểm thực tế về công nghệ.

Trong thế giới cơ sở dữ liệu NoSQL, Apache Cassandra nổi tiếng với khả năng mở rộng và độ tin cậy cao. Gần đây, phiên bản Cassandra 5 đã ra mắt với nhiều thay đổi quan trọng dưới lớp vỏ. Để hiểu rõ hơn về những thay đổi này, chúng ta cùng trò chuyện với Branimir Lambov — một thành viên của Project Management Committee (PMC) và committer của Cassandra, hiện đang làm việc tại IBM thông qua thương vụ mua lại DataStax.

Với bằng Tiến sĩ về tính toán chính xác các số thực tại Đại học Aarhus (2005) và kinh nghiệm làm việc trong xử lý tín hiệu số cũng như xử lý ngôn ngữ tự nhiên, Branimir mang đến một góc nhìn độc đáo cho phát triển cơ sở dữ liệu. Ông đã dành 11 năm qua để đóng góp vào Cassandra.

Từ việc "nhàm chán" đến đam mê cơ sở dữ liệu

Khi được hỏi về cách ông đến với Cassandra, Branimir thú nhận rằng ông từng coi cơ sở dữ liệu là một chủ đề khá nhàm chán trong thời đại học. Tuy nhiên, mọi thứ đã thay đổi khi một nhà tuyển dụng liên hệ với ông vào đúng thời điểm.

"Tôi đã nói chuyện với những người khiến tôi nghĩ về các vấn đề cụ thể. Điều đó khiến tôi quan tâm, giúp tôi bước vào một môi trường làm việc tốt và tôi đã gắn bó với nó hơn một thập kỷ qua," Branimir chia sẻ.

Cách mạng hóa LSM Tree với cấu trúc Trie

Một trong những dự án lớn nhất của Branimir, được phát hành trong Cassandra 5 (2024), cho phép người dùng thay thế cấu trúc Skiplist trong Log-Structured Merge Tree (LSM Tree) bằng cấu trúc Trie. Đây là một bước tiến lớn giúp cải thiện việc sử dụng bộ nhớ và hiệu quả lưu trữ.

Dự án này bắt đầu từ một ý tưởng khá đơn giản: tận dụng thứ tự byte (byte order). Branimir giải thích: "Chúng tôi biết rằng sẽ có lợi ích nếu chúng ta tận dụng thứ tự byte, tức là sử dụng các khóa có thể so sánh theo từ điển như chuỗi."

Ông phát triển một định dạng bảng lớn được lập chỉ mục bằng trie, gọi là định dạng "BTI". Định dạng này mang lại cải tiến đáng kể trong hiệu suất truy vấn và cải thiện việc xử lý các phân vùng lớn (wide partitions). Mặc dù dự án mất khoảng một năm để phát triển ban đầu và đã được sử dụng trong phiên bản riêng của DataStax từ năm 2017, nhưng phải đến Cassandra 5 nó mới chính thức có mặt trong phiên bản mã nguồn mở.

Chiến lược nén thống nhất và các dự án khác

Ngoài công việc về Trie, Branimir còn đóng góp vào việc hiện đại hóa các chiến lược nén (compaction strategies) của Cassandra. Kết quả là Chiến lược Nén Thống nhất (Unified Compaction Strategy) trong Cassandra 5.

"Chúng tôi bắt đầu bằng cách xem xét các kết quả từ giới học thuật và so sánh chúng với các chiến lược nén cũ để tìm cách xây dựng một giải pháp linh hoạt hơn," ông nói. Giải pháp mới này đã giúp DataStax xử lý mật độ dữ liệu cao hơn một cấp độ so với trước đây, đồng thời giảm nhu cầu cấu hình thủ công.

Bài học từ một sự cố mất mát dữ liệu

Thậm chí cả những chuyên gia cũng có lúc mắc sai lầm. Branimir kể lại một sự cố xảy ra vào năm ngoái khi ông đang hoàn thiện một tính năng liên quan đến song song hóa nén. Ông đã thêm một đoạn mã assertion để kiểm tra tính chính xác, tin rằng Cassandra luôn chạy với assertion được bật.

Tuy nhiên, một bản phát hành đã được tung ra với assertion quan trọng này bị tắt. Kết quả là một số dữ liệu đã bị mất mát khi truy vấn. May mắn thay, nhờ cơ chế sao chép dữ liệu của Cassandra, họ có thể tìm lại dữ liệu từ các bản sao khác.

Bài học rút ra: "Bạn không thể giả định bất kỳ đoạn mã nào là không quan trọng; bạn không thể dựa vào các kiểm tra có thể bị tắt; có những thứ mà ngay cả các mạng lưới an toàn tốt nhất cũng không cứu bạn được."

Quan điểm về Java và AI

Về ngôn ngữ lập trình, Branimir có mối quan hệ yêu-ghét với Java. Ông chỉ trích lượng mã mẫu (boilerplate) và sự lãng phí bộ nhớ, nhưng ca ngợi JVM. Ông đặc biệt hào hứng với các tính năng mới trong các phiên bản Java gần đây như luồng ảo (virtual threads), bộ nhớ ngoại lai (foreign memory) và hỗ trợ vector.

Khi nói về AI và LLMs, Branimir đưa ra một quan điểm khá thận trọng. Ông so sánh LLM với một "người thực tập sinh cần cù nhưng ngốc nghếch" (industrious fool). Chúng rất giỏi trong việc tạo ra thứ trông rất đẹp và thuyết phục rằng đã giải quyết được vấn đề, nhưng thực tế lại không làm tốt việc đó.

"Chúng là những thực tập sinh không thể học hỏi từ công việc. Tôi đôi khi tự hỏi liệu thời gian của chúng ta có được đầu tư tốt khi soạn thảo chỉ dẫn cho thứ không thể học hỏi so với việc nỗ lực tương tự để dạy một con người," ông nhận định.

Tương lai với Accord và ACID

Cuối cùng, Branimir xác nhận rằng công việc Accord trong Cassandra sẽ mang lại các giao dịch ACID (đảm bảo tính nguyên tử, nhất quán, cô lập và bền bỉ) cho Cassandra lần đầu tiên.

"Accord sẽ mang lại các giao dịch xuyên phân vùng (cross-partition) với tất cả các thuộc tính cần thiết, và có thể làm điều đó theo cách rất hiệu quả," ông khẳng định.

Với những cải tiến như Trie memtable và Unified Compaction Strategy, cùng với sự hứa hẹn của Accord, Cassandra tiếp tục chứng minh vị thế là một giải pháp cơ sở dữ liệu mạnh mẽ, sẵn sàng cho các yêu cầu khắt khe nhất của thời đại cloud hiện nay.

Bài viết được tổng hợp và biên soạn bằng AI từ các nguồn tin tức công nghệ. Nội dung mang tính tham khảo. Xem bài gốc ↗