2013-04-19 32 views
5

Tôi đã bắt đầu làm việc với cơ sở dữ liệu Cassandra. Tôi đang lập kế hoạch để sử dụng Datastax API để upsert/đọc vào/từ cơ sở dữ liệu cassandra. Tôi hoàn toàn mới với Datastax API này (sử dụng giao thức nhị phân mới) và tôi không thể tìm thấy nhiều tài liệu cũng như có một số ví dụ thích hợp.Tạo họ hàng hoặc bảng trong Cassandra khi đang sử dụng API Datastax (sử dụng giao thức nhị phân mới)

Khi tôi đã làm việc với Cassandra CLI bằng cách sử dụng client Netflix (Astyanax khách hàng), sau đó tôi đã tạo ra gia đình cột như this-

create column family profile 
with key_validation_class = 'UTF8Type' 
and comparator = 'UTF8Type' 
and default_validation_class = 'UTF8Type' 
and column_metadata = [ 
    {column_name : crd, validation_class : 'DateType'} 
    {column_name : lmd, validation_class : 'DateType'} 
    {column_name : account, validation_class : 'UTF8Type'} 
    {column_name : advertising, validation_class : 'UTF8Type'} 
    {column_name : behavior, validation_class : 'UTF8Type'} 
    {column_name : info, validation_class : 'UTF8Type'} 
    ]; 

Bây giờ tôi đang cố gắng làm điều tương tự sử dụng Datastax API. Vì vậy, để bắt đầu làm việc với Datastax API, tôi có cần phải tạo họ cột theo một cách khác như đã đề cập ở trên không? Hoặc cột trên familiy sẽ hoạt động tốt bất cứ khi nào tôi sẽ cố gắng chèn dữ liệu vào cơ sở dữ liệu Cassandra bằng Datastax API.

Nếu gia đình cột trên sẽ không làm việc sau đó-

Trước hết tôi đã tạo ra KEYSPACE như liệt kê dưới đây

CREATE KEYSPACE USERS WITH strategy_class = 'SimpleStrategy' AND strategy_options:replication_factor = '1';

Bây giờ tôi nhầm lẫn làm thế nào để tạo bảng? Tôi không chắc chắn đó là cách đúng để làm điều đó?

Tôi có nên tạo như thế này không?

CREATE TABLE profile ( id varchar, account varchar, advertising varchar, behavior varchar, info varchar, PRIMARY KEY (id) );

hoặc tôi nên tạo như thế này?

CREATE COLUMN FAMILY profile ( id varchar, account varchar, advertising varchar, behavior varchar, info varchar, PRIMARY KEY (id) );

Và cũng cách Add-

crd as DateType 
lmd as DateType 

trong bảng ở trên hoặc gia đình cột khi làm việc với Datastax API?

Mọi trợ giúp sẽ được đánh giá cao.

+0

ý nghĩa của API datastax là gì ??? OpsCenter hoặc trình điều khiển java datastax? – abhi

+0

@ abhi, Trình điều khiển java Datastax. – ferhan

Trả lời

13

Cho dù bạn sử dụng từ khóa TABLE hoặc COLUMNFAMILY, cả hai đều giống nhau (từ đồng nghĩa). Tôi đoán từ khóa TABLE đã được giới thiệu với CQL3. Vì vậy, bạn có thể sử dụng một trong các câu lệnh của bạn.

Câu hỏi thứ hai, thêm DateType, bạn nên sử dụng dấu thời gian.

CREATE COLUMNFAMILY sample (rowkey text, ts timestamp, PRIMARY KEY(rowkey)); 

INSERT INTO sample (rowkey, ts) VALUES ('1','1366354711797'); 
// ts value is basically the System.currentTimeMillis(), I mean a long value 
+1

Cảm ơn. Sự khác biệt giữa varchar và văn bản là gì? Tôi cần phải có kiểu dữ liệu String cho hầu hết các cột của tôi. Vì vậy, tôi nên sử dụng varchar hoặc văn bản trong trường hợp đó? – ferhan

+1

cả hai đều giống nhau (từ đồng nghĩa) trong ngữ cảnh cql, chuỗi được mã hóa UTF8. – abhi

+0

Tuyệt. Cảm ơn. Bất kỳ suy nghĩ nào về [câu hỏi] khác của tôi (http://stackoverflow.com/questions/16096207/upsert-read-into-from-cassandra-database-using-datastax-api-using-new-binary-pr) – ferhan

1

Trong không gian khóa hoặc cơ sở dữ liệu cassandra giống nhau, giống như nhóm và bảng thông minh đều giống nhau.

Cassandra là giống như Mysql Trong cú pháp của nó và hỗ trợ HQL (tương tự như sql)

Một bảng trong cassandra thể được tạo ra như:

CREATE TABLE users (
user_name varchar, 
password varchar, 
gender varchar, 
session_token varchar, 
state varchar, 
birth_year bigint, 
PRIMARY KEY (user_name)); 

biết thêm thông tin ở đây: Cassandra Tutorials

0

@ neel4soft - Với những thứ Cassandra đơn giản phát triển.Vì vậy, để trở thành một loại dễ dàng hơn cho mọi người, một quá trình đổi tên đều đặn đang diễn ra để làm cho việc chuyển đổi từ SQL thành CQL dễ dàng hơn cho người mới. Tuy nhiên, CQL không nên được cho là giống như một người có liên quan đến SQL, giống như một người anh em họ thứ 3 từ phía bên của mẹ nó, nói cách khác không phải là họ hàng gần gũi. Việc so sánh nó với MySQL là một hình ảnh không đúng về khả năng của nó.

Các vấn đề liên quan