2010-03-29 25 views
5

Tôi quan tâm đến việc tạo cổng thông tin dịch vụ cassandra, vì tôi đã gặp phải một số vấn đề về hiệu suất và quy mô bắt đầu từ 1 triệu bản ghi. Chắc chắn, nó có thể được giải quyết, nhưng tôi quan tâm đến các tùy chọn khác.Cassandra và asp.net (C#)

Vấn đề chính của tôi là chi phí cập nhật tất cả các chỉ mục cần thiết, để đọc nhanh.

Đầu tiên, cassandra có phải là cách tốt cho các lập trình viên asp.net không? Ý tôi là, có thể có một số dự án khác, đáng để xem xét

Và thứ hai, bạn có thể cung cấp bất kỳ mẫu tài liệu nào về cách bắt đầu lập trình cassandra từ C# không?

+1

http://teddziuba.com/2010/03/i-cant-wait-for-nosql-to-die.html. –

+0

http://codebetter.com/blogs/karlseguin/archive/2010/03/29/nosql-for-the-rest-of-us.aspx –

+2

Tôi khuyên bạn không nên sử dụng Cassandra trong môi trường sản xuất. – Pierreten

Trả lời

11

vì tôi gặp vấn đề về hiệu suất và quy mô bắt đầu từ 1 triệu bản ghi.

Có thể thiết kế của bạn không tốt, NoSQL không phải là một viên đạn ma thuật cho thiết kế kém. Tôi có nhiều tỷ bảng hàng và 95% phản hồi là phụ thứ hai. Ngoài ra, bạn có ý nghĩa gì khi cập nhật chỉ mục, ý của bạn là cập nhật số liệu thống kê hoặc xây dựng lại các chỉ mục?

+0

Tôi vui vì nó hoạt động cho bạn. Chắc chắn, đây là cách có thể (và rẻ nhất) cho tôi. Tuy nhiên, ông đã phát hành đầu tiên tháng trước, tìm thấy bài viết về cách sử dụng số liệu thống kê chỉ mục, áp dụng nó vào cơ sở dữ liệu của chúng tôi và mọi thứ đều ổn ... trong 2 tuần. Vì vậy, tôi muốn nhìn xung quanh và tìm hiểu về những tùy chọn là – st78

+0

bạn có tự động cập nhật số liệu thống kê được kích hoạt hoặc bạn có một công việc sẽ cập nhật số liệu thống kê? – SQLMenace

3

vì tôi đã đối mặt với hiệu suất và tỷ lệ vấn đề bắt đầu từ 1 triệu bản ghi .

Bạn biết đấy, một triệu điểm cho cơ sở dữ liệu hiện đại là nơi nó không phải là một cái gì đó "hoàn toàn nhỏ", nơi bạn có thể bỏ qua thực sự biết bạn làm gì. Dưới một triệu là "nhỏ". Tôi có một bảng hàng 800 triệu và nhận được rất nhiều sql chạy qua với nó - không có vấn đề gì cả.

Thứ nhất, cassandra là cách tốt cho trình lập trình asp.net?

Tôi sẽ đề xuất thêm một cuốn sách cơ bản về SQL, đọc tài liệu và CÓ THỂ giải quyết một số phần cứng về sự cố. Như trong: có phần cứng hoàn toàn xấu sẽ giết tất cả các hệ thống quản lý dữ liệu.

1

Nếu bạn muốn làm điều gì đó mới, sau đó thay vì đi cho noSQL, bạn có thể muốn xem xét thử một cụm cơ sở dữ liệu.

Ý tưởng là khi hai máy tìm kiếm một nửa cơ sở dữ liệu gốc cùng một lúc, bạn có một nửa thời gian tìm kiếm mà không cần thiết kế lại hoàn toàn cơ sở dữ liệu hiện có của mình.

+0

Cảm ơn, tôi đang suy nghĩ thuyết phục khách hàng dùng thử Microsoft Azure - có vẻ đơn giản để bắt đầu sử dụng nó – st78

+0

Tôi tin rằng bạn muốn nói "thử sharding" cơ sở dữ liệu của bạn. Clustering sẽ không giúp vấn đề hiệu suất của bạn. http://en.wikipedia.org/wiki/Shard_(database_architecture) – BozoJoe

2

Bạn thực sự không thể nói về tài liệu Cassandra. Có vô số các hướng dẫn từng phần trên web.
Bạn có thể muốn thiết lập Linux trong một máy ảo, bởi vì quá trình xây dựng cửa sổ khá khó khăn, để nói rằng ít nhất.
(http://www.virtualbox.org, http://www.ubuntu.com)

Đây là howto:
http://www.ridgway.co.za/archive/2009/11/06/net-developers-guide-to-getting-started-with-cassandra.aspx
Lưu ý rằng cassandra SVN url và mẫu mã đã thay đổi kể từ khi văn bản của hướng dẫn này.

Đây là một C# khách hàng:
http://github.com/mattvv/hectorsharp

Và đây một số mẫu mã:
http://www.copypastecode.com/26752/

Lưu ý rằng bạn cần phải tải về mới nhất của Java Development Kit (JDK) từ Sun cho Linux. Nó không nằm trong kho của Ubuntu 10.04. Sau đó, bạn cần nhập

export JAVA_HOME="/path/to/jdk" 

để Cassandra tìm thấy cài đặt Java của bạn.


Bạn cũng có thể muốn có một cái nhìn tại địa chỉ:
http://en.wikipedia.org/wiki/NoSQL

Đặc biệt là phần phân loại là thú vị.
Đảm bảo Cassandra là loại giải pháp NoSQL đúng cho vấn đề của bạn, ví dụ: sử dụng Neo4J nếu vấn đề của bạn thực sự là một vấn đề đồ thị.

Ngoài ra, bạn cần đảm bảo giải pháp NoSQL của bạn tuân thủ ACID.
Ví dụ, Neo4J là công cụ đồ thị NoSQL tương thích với ACID duy nhất.

Edit: Đây là một hướng dẫn tái khởi động cho Windows, mà không cần biên soạn:
http://coderjournal.com/2010/03/cassandra-jump-start-for-the-windows-developer/
http://www.ronaldwidha.net/2010/06/23/running-cassandra-on-windows-first-attempt/
http://www.yafla.com/dforbes/Getting_Started_with_Apache_Cassandra_a_NoSQL_frontrunner_on_Windows/

2

Thay vì cassandra bạn có thể có một cái nhìn tại địa chỉ: ravendb. Giả sử nó là một cửa hàng tài liệu được tạo và được tạo cho .Net. Nó có tích hợp LINQ, và (một lần nữa được cho là) ​​rất nhanh.

Như với bất kỳ công nghệ mới nào, hãy đọc nếu nó giúp bạn với trường hợp cụ thể của bạn và kiểm tra xem đó có phải là công nghệ đã được chứng minh không (Họ có các khách hàng chủ đạo đang sử dụng nó).

Trước khi bạn đi vào tuyến đường này, nếu bạn không thể tối ưu hóa giải pháp hiện tại của mình trước tiên. Kiểm tra xem các truy vấn của bạn có nhanh không, nếu các chỉ mục được thực hiện đúng và nếu bạn không thể xóa tải bằng cách thêm bộ nhớ đệm.

Hạt cuối cùng không kém phần quan trọng, nếu thêm một số bộ vi xử lý vào máy SQL của bạn có thể khắc phục được sự cố, thì đây thường là giải pháp rẻ hơn nhiều.

3

Nếu bạn đang sử dụng Cassandra cho ứng dụng .NET của bạn, hãy xem Aquiles. Tôi đã phát triển nó dựa trên nhu cầu của công ty tôi. Nếu bạn thấy nó hữu ích hoặc cần bất kỳ sự trợ giúp nào cho tôi biết.