Gần đây tôi đã bắt đầu làm việc với Cơ sở dữ liệu Cassandra. Bây giờ tôi đang trong quá trình đánh giá mà Cassandra client
chúng ta nên đi tiếp với.Số API của Cassandra Client Java API
Tôi đã thấy các bài đăng khác nhau về stackoverflow về ứng dụng khách nào sử dụng cho Cassandra nhưng không có câu trả lời dứt khoát nào.
Nhóm của tôi đã yêu cầu tôi thực hiện một số nghiên cứu về điều này và đưa ra một số pros and cons
nhất định cho mỗi Cassandra Client API’s
trong Java. Như tôi đã đề cập, gần đây tôi đã tham gia với Cassandra
do đó không có nhiều ý tưởng tại sao một số người chọn Pelops client
và tại sao một số người nhất định đi với Astyanax
và một số khách hàng khác.
Tôi biết những điều ngắn gọn về từng khách hàng của Cassandra, theo đó tôi có nghĩa là tôi có thể thực hiện công việc đó và bắt đầu đọc và ghi vào cơ sở dữ liệu Cassandra.
Dưới đây là thông tin tôi có cho đến nay.
Cassandra API
Hector (Sản xuất-Ready)
Ổn định nhất trong các API Java, sẵn sàng cho giờ cao điểm.Astyanax (Up and Comer)
API Java sạch từ Netflix. Nó không được sử dụng rộng rãi như Hector, nhưng nó chắc chắn.Kundera (The NoSQL ORM)
JPA tuân thủ, đây là tiện dụng khi bạn muốn tương tác với Cassandra qua đối tượng.
Điều này hạn chế bạn phần nào ở chỗ bạn sẽ không thể có số động cột/tên, v.v. Nhưng nó cho phép bạn chuyển qua ORM hoặc tập trung lưu trữ vào Cassandra để sử dụng truyền thống hơn.Pelops
Tôi chỉ sử dụng Pelops một thời gian ngắn. Đó là một API chuyển tiếp thẳng, nhưng dường như không có động lực đằng sau nó.PlayORM (ORM không có ràng buộc?)
Tôi vừa nghe về điều này. Dường như nó đang cố gắng giải quyết trở kháng không phù hợp giữa các ORM dựa trên JPA truyền thống và NoSQL bằng cách giới thiệu JQL. Có vẻ như đầy hứa hẹn.Tiết kiệm (Tránh tôi!)
Đây là API "cấp thấp".
Dưới đây là ưu tiên của chúng tôi trong việc quyết định Cassandra Client
-
- ưu tiên đầu tiên là: độ trễ chi phí thấp, asynch API, và độ tin cậy/ổn định cho môi trường sản xuất.
(ví dụ: một API thân thiện với người dùng hơn có thể có trong DAL kết thúc tốt nhất ứng dụng khách). - Kết nối tổng hợp và nhận thức phân vùng là một số tính năng tốt khác cần có.
- Có khả năng phát hiện bất kỳ nút mới nào đã được thêm.
- Tốt Hỗ trợ cũng như (như chỉ bởi hiệu trưởng bên dưới)
bất cứ ai có thể cung cấp một vài suy nghĩ về vấn đề này? Và cũng có bất kỳ ưu và khuyết điểm nào cho mỗi Cassandra Client
và khách hàng nào cũng có thể đáp ứng các yêu cầu của tôi cũng sẽ được trợ giúp rất nhiều.
Tôi tin rằng, chủ yếu là tôi sẽ quay vòng quanh Astyanax client or New Datastax client that uses Binary protocol
Tôi đoán dựa trên nghiên cứu của tôi cho đến nay. Nhưng không có thông tin nào đó để quay lại nghiên cứu của tôi và trình bày nó cho nhóm của tôi.
Bất kỳ sự so sánh nào giữa khách hàng Astyanax và ứng dụng khách Datastax mới (sử dụng giao thức nhị phân mới) sẽ giúp ích rất nhiều.
Nó sẽ giúp ích rất nhiều cho tôi trong nghiên cứu của tôi và sẽ nhận được rất nhiều kiến thức về điều này từ những người khác nhau đã sử dụng các khách hàng khác nhau trong quá khứ.
Bạn cũng có thể thêm cassandra-jdbc vào danh sách https://code.google.com/a/apache-extras.org/p/cassandra-jdbc/ – phatfingers
phatfingers điểm tốt. Biết thêm một thứ nữa. Mát mẻ. – ferhan
Tôi đã chọn astyanax tại một số điểm và tôi có thể nói chắc chắn rằng nó dễ sử dụng và rất ổn định. Vài gợi ý: [trình điều khiển datastax là beta hiện tại] (https://github.com/datastax/java-driver/blob/master/README.rst); [Astyanax trên giao thức gốc] (https://github.com/Netflix/astyanax/issues/280) –