2012-05-10 27 views
11

Chúng tôi là một khởi đầu nhỏ với ứng dụng SAAS ghi nặng và (cuối cùng!) Đến mức sử dụng của chúng tôi đang trình bày các vấn đề về tỷ lệ. Chúng tôi có một đội ngũ nhỏ, vì vậy chúng tôi thực sự đánh giá cao việc có thể giảm tải sysadmin thành Heroku và RDS.NewSQL so với tối ưu hóa/sharding truyền thống

Trong khi Heroku là (chủ yếu) tốt, chúng tôi có một vài vấn đề với RDS:

  1. Scaling. Đây là mối quan tâm lớn nhất. Chúng tôi hiện đang chạy một phiên bản XL RDS. Chúng tôi sẽ có thể nhận được một thời gian lâu hơn với các tối ưu hóa đơn giản, nhưng trừ khi chúng tôi thực hiện một số thay đổi lớn về cấu trúc cho ứng dụng của mình, chúng tôi sẽ gặp phải một nút cổ chai tại một thời điểm nào đó.

Ngoài ra, thời gian ngừng hoạt động để thay đổi kích thước cá thể là rất lớn.

  1. Tính khả dụng. Chúng tôi chạy một cá thể đa AZ, vì vậy chúng ta nên tồn tại một lần ngừng AZ đơn lẻ. Nhưng RDS được xây dựng trên EBS, điều này khiến tôi khá lo lắng về lịch sử và thiết kế của EBS.

  2. Giá. Hóa đơn RDS của chúng tôi là 4x những gì chúng tôi trả Heroku. Tôi không ngại trả tiền cho Amazon để cứu tôi khỏi việc thuê một sysadmin, nhưng tôi rất thích tìm thứ gì đó rẻ hơn.

Theo quan điểm của mình, chúng tôi có hai tùy chọn để di chuyển các phần của cơ sở dữ liệu sang chỉ đọc, v.v.); hoặc một giải pháp NewSQL (Xeround, VoltDB, NimbusDB, v.v.).

Ưu điểm truyền thống: Nó được thực hiện nhiều lần trước đây và có những cách khá chuẩn để thực hiện.

Nhược điểm truyền thống: Sẽ mất nhiều công sức và đưa sự phức tạp đáng kể vào ứng dụng. Nó cũng sẽ không giải quyết được vấn đề thứ cấp với RDS (tính khả dụng và giá cả).

Ưu điểm của NewSQL: Giả sử các giải pháp này sẽ mở rộng quy mô của cơ sở dữ liệu của chúng tôi mà không thay đổi mã ứng dụng (tùy thuộc vào một số hạn chế về chức năng SQL như không sử dụng khóa bi quan). Điều này sẽ giúp chúng tôi tiết kiệm rất nhiều công sức. Nó cũng sẽ cải thiện độ tin cậy (không có điểm thất bại duy nhất) và giảm chi phí (không phải chạy một trường hợp XL trong giờ off-chỉ để cung cấp cho việc sử dụng cao điểm).

Khuyết điểm của NewSQL: Các giải pháp này tương đối trẻ và tôi chưa thể tìm thấy bất kỳ đánh giá hay bài viết nào về trải nghiệm của mọi người với họ trong các ứng dụng sản xuất. Tôi chỉ tìm thấy một giải pháp có sẵn như là một giải pháp lưu trữ (Xeround), do đó, trừ khi chúng tôi đi với giải pháp đó, chúng tôi sẽ phải đầu tư tài nguyên vào sysadmin.

Tôi tự hỏi ý kiến ​​của tôi là gì tùy theo lựa chọn tốt nhất của tôi.

Xeround cực kỳ hấp dẫn (được lưu trữ trên máy chủ NewSQL), nhưng tôi không thể tìm thấy bất kỳ thông tin sử dụng thông tin nào trong sản xuất. Vài mẩu tin tôi đã thấy là mọi người phàn nàn về việc nó hơi chậm. Tôi khá lo lắng khi chuyển sang thứ gì đó dường như chưa được kiểm chứng.

Bên bảo thủ của tôi nói rằng hãy gắn bó với RDS và sử dụng phương pháp truyền thống. Nhưng nó sẽ thực sự tốn kém về thời gian của nhà phát triển.

Và sau đó một phần của tôi tự hỏi nếu có một cách khác, có thể là một giải pháp lưu trữ NewSQL được thử nghiệm trên chiến trường mà tôi chưa từng nghe đến. Hoặc có thể là một giải pháp NewSQL mà chúng tôi phải lưu trữ chính mình nhưng điều đó có một lịch sử thực sự vững chắc.

Cảm ơn trước cho suy nghĩ của bạn.

Trả lời

0

Tại Jingit (www.jingit.com), chúng tôi đã thử nghiệm VoltDB. Thật tuyệt vời khi mở rộng viết các ứng dụng nặng và trong đám mây AWS. Không có tùy chọn được lưu trữ để các nhà phát triển của chúng tôi sở hữu nó và họ chi tiêu < 1 giờ một tuần quản lý cụm VoltDB của chúng tôi. Chúng tôi thực sự sử dụng cả RDS và VoltDB. RDS cho khối lượng công việc quan hệ truyền thống của chúng ta, và VoltDB cho xử lý giao dịch CAO VOLUME của chúng ta. Nếu bạn đang phát triển trong Java, VoltDB là rất phù hợp khi bạn viết tất cả các thủ tục trong Java.

1

Không chắc bạn đã nghe về NuoDB chưa. Nhưng nó là một giải pháp SQL hoàn toàn mới cung cấp khả năng mở rộng quy mô của NoSQL và khả năng tuân thủ ACID của SQL & ACID của OLTP truyền thống. Bạn nên xem xét giải pháp.

0

Tôi cũng nghe rằng NuoDB rất thú vị. Một điều tôi nghe thấy là Rackspace sắp ra mắt với đám mây DBaaS đôi khi sớm. Tôi không biết họ sẽ sử dụng hương vị gì, nhưng bạn có thể thấy Nuo hoạt động như một giải pháp có thể mở rộng với họ như thế nào. Tôi nghĩ rằng nó sẽ chạy cùng với nền tảng Open Stack, trong đó, khi họ mở nó lên, có thể có nhiều chi phí và hiệu quả tính toán. Chỉ là một cái gì đó tôi đã tự cầu nguyện.

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