2012-02-12 11 views
9

Tôi đã tự hỏi liệu có bất kỳ ngôn ngữ chuẩn hoặc API nào để truy cập cơ sở dữ liệu NoSQL (hoặc ít nhất là BigData hoặc Cột lưu trữ) cơ sở dữ liệu không?Có API tiêu chuẩn mới nổi cho Cơ sở dữ liệu NoSQL không?

Hoặc bạn có phải học ngôn ngữ miền cụ thể cho đóng góp của mỗi nhà cung cấp không?

+1

Tôi hy vọng mọi người sẽ không đóng câu hỏi này. Tôi thực sự chỉ muốn biết liệu có bất kỳ API hợp nhất nào không? Bạn không chắc chắn lý do tại sao điều đó sẽ được coi là gây tranh cãi? –

+0

Như trong, cơ sở dữ liệu trừu tượng các lớp trừu tượng như PDO cho PHP? Tôi không chắc tiêu chuẩn cho NoSQL là gì, ngoại trừ 'Không phải SQL'. – mrlee

+1

Tôi có thể bị thiếu điểm tràn ngăn xếp - tại sao câu hỏi này gây tranh cãi và có diễn đàn tốt hơn cho yêu cầu này không? Tôi đang cố gắng nghiên cứu NoSQL cho một bài báo, và tôi nghĩ đây là một câu hỏi rất phù hợp. –

Trả lời

2

Cơ sở dữ liệu quan hệ có ngôn ngữ SQL.

Cơ sở dữ liệu NoSQL có nhiều loại khác nhau: biểu đồ, cột, tài liệu. giá trị khóa, v.v.

Tất cả chúng đều được xử lý cụ thể. Có thể một loại có thể có một ngôn ngữ thống nhất, nhưng giữa chúng, điều đó sẽ không quá tự nhiên. Vì vậy, có bạn phải sử dụng/tìm hiểu các API cho từng loại.

Ở cấp độ khác, nếu bạn sử dụng java làm ngôn ngữ lập trình, bạn có thể sử dụng dữ liệu mùa xuân đề xuất một bộ thư viện để truy cập các cơ sở dữ liệu đó. Tôi đã không sử dụng nó nhưng với nó, bạn sẽ có thể so sánh các API giữa các loại cơ sở dữ liệu khác nhau khá dễ dàng.

Sau đó, bạn có câu hỏi này mà dường như cũng có liên quan đến bạn: Are there any NoSQL standards emerging?

+0

Có nghĩa là cơ sở dữ liệu Graph sẽ không có cùng API như Columnar, nhưng về HBase và Cassandra thì sao? –

2

tôi thấy 2 sáng kiến ​​với mục tiêu là để cung cấp một giao diện thống nhất cho tất cả DB của NoSQL. Một là UnQL cung cấp giao diện giống DML rất SQL.

Cách khác là Apache Thrift, cung cấp cách thức trung lập về ngôn ngữ để mô tả và triển khai truy vấn.

3

Một trong những khả năng thú vị là AppScale cung cấp API thống nhất cho HBase, Hypertable, Cụm MySQL, Cassandra, Voldemort, MongoDB, MemcacheDB và Redis. API được Google xác định cho Google App Engine và có sẵn cho Java, PythonGo.

+0

Ồ, và nếu bạn đang sử dụng API của Máy ứng dụng của Google trong Java, bạn nên xem Objectify https://code.google.com/p/objectify-appengine/ – mjaggard