2010-09-10 35 views
16

Câu hỏi đơn giản, tôi có thể hình dung sử dụng redis thay vì mysql cho tất cả các loại ứng dụng web: mạng xã hội, dịch vụ vị trí địa lý, v.v ... không?Redis có thể thay thế hoàn toàn mysql không?

+1

Bạn * có thể *, câu hỏi là * nên * bạn? Theo quan điểm của tôi, câu trả lời có lẽ không dành cho mọi thứ. –

+4

Tôi chỉ thích ý tưởng có một hệ thống cơ sở dữ liệu. –

Trả lời

11

Không có gì là không thể trong CNTT. Nhưng một số thứ có thể cực kỳ phức tạp.

Sử dụng lưu trữ khóa-giá trị cho những thứ như tìm kiếm toàn văn có thể cực kỳ đau đớn. Ngoài ra, theo tôi thấy, nó thiếu hỗ trợ cho các cơ sở dữ liệu lớn, phân cụm: do đó, trên MySQL bạn không có vấn đề gì nếu bạn phát triển trên 100 Gb trong Cơ sở dữ liệu, và trên Redis ... Vâng, nó sẽ đòi hỏi nhiều hơn nỗ lực :-)

Vì vậy, hãy sử dụng nó cho những gì nó được phát triển, lưu trữ những thứ đơn giản mà chỉ cần được truy xuất bằng id.

+2

Tôi sẽ làm điều gì đó như nhận tất cả các khóa bắt đầu với người dùng ... trong đó giá trị nhỏ hơn 5? –

+0

@Travis Glines, cũng là nguồn mở, vì vậy bạn có thể triển khai: --D – BarsMonster

+1

Travis Glines: để có thể làm cho truy vấn đó lưu trữ dữ liệu của bạn theo định dạng cho phép bạn thực hiện (một bộ được sắp xếp sẽ hoạt động cho mục đích đó) . nếu bạn muốn có thể thực hiện các truy vấn chung, hãy sử dụng cơ sở dữ liệu quan hệ. – rpetrich

5

ACID tuân thủ là điều bắt buộc, nếu tính toàn vẹn dữ liệu là quan trọng. Hồ sơ y tế và các giao dịch tài chính sẽ là một ví dụ. Hầu hết các giải pháp NoSQL, bao gồm Redis, đều nhanh vì chúng giao dịch các thuộc tính ACID cho tốc độ.

Đôi khi dữ liệu đơn giản thuận tiện hơn để biểu diễn bằng cách sử dụng cơ sở dữ liệu quan hệ và các truy vấn đơn giản hơn.

Ngoài ra, nhờ các mối quan hệ và ràng buộc nước ngoài trong cơ sở dữ liệu quan hệ, dữ liệu của bạn có nhiều khả năng là chính xác hơn. Giữ dữ liệu đồng bộ trong các giải pháp NoSQL khó hơn.

Vì vậy, tôi không nghĩ chúng ta có thể nói về sự thay thế hoàn toàn. Chúng là những công cụ khác nhau cho các công việc khác nhau. Tôi sẽ không giao dịch búa của tôi cho một tuốc nơ vít.

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