Câu hỏi này rất rộng, nhưng tôi sẽ cố gắng trả lời nó trong khả năng của mình.
Tôi thường không thích trả lời những câu hỏi như thế này vì có vẻ như bạn đã nghiên cứu rất ít trước khi đến với SO. Có vẻ như bạn đang nhầm lẫn với các vai trò ứng dụng và cơ sở dữ liệu. Ít nhất tôi sẽ bắt đầu với bạn bằng một số tài liệu / ý tưởng và để bạn tự quyết định.
Không có "viên đạn bạc" nào cho thiết kế phụ trợ, đặc biệt là khi nói đến cơ sở dữ liệu. Cơ sở dữ liệu SQL nói chung rất tốt ở hầu hết các chức năng của cơ sở dữ liệu, và đúng như vậy; đó là một công nghệ đã rất trưởng thành và đã đứng trước thử thách của thời gian là có lý do. Hầu hết các giải pháp NOSQL đều chuyên biệt cho các mục đích cụ thể. Ví dụ:nếu bạn đang ghi lại nhiều thông tin, bạn có thể muốn xem Cassandra. Nếu bạn đang xử lý nhiều dữ liệu quan hệ, bạn sẽ muốn sử dụng thứ gì đó như Neo4j (hoặc PostgreSQL / MySQL cho RMDBS). Nếu bạn đang xử lý nhiều dữ liệu thời gian thực, bạn có thể muốn xem Redis.
Thật ngớ ngẩn khi hỏi NOSQL vs SQL vì một vài lý do:
NOSQL nói chung là một thuật ngữ xấu. Và nó không có nghĩa là "Không có SQL". Nó có nghĩa là "Không chỉ SQL". Thật không may, thuật ngữ này đã bao hàm ngay cả điều đối lập cực nhất với cơ sở dữ liệu.
Chỉ bạn mới biết chức năng đầy đủ của ứng dụng của bạn. Ngay cả khi tôi biết những điều cơ bản về những gì bạn muốn đạt được, tôi vẫn không thể đưa ra câu trả lời dứt khoát cho bạn. Cũng không ai khác được. Nó mang tính chủ quan cao và một lần nữa, chỉ BẠN mới biết CHÍNH XÁC những gì ứng dụng của bạn nên làm.
Lý do lớn nhất:Đó là năm 2014. Tại sao lại là một cơ sở dữ liệu? Mười năm trước "DatabaseX vs DatabaseY" sẽ là một câu hỏi thực tế. Giờ đây, bạn có thể định cấu hình nhiều khung ứng dụng để sử dụng nhiều cơ sở dữ liệu một cách đáng tin cậy chỉ trong vài phút. Đạo đức của câu chuyện:Sử dụng mỗi cơ sở dữ liệu cho mục đích chuyên biệt của nó. Thông tin thêm về tính bền bỉ của đa ô tại đây .
Theo như Facebook đi:một tìm kiếm trên Google kéo dài 5 phút cho thấy những công nghệ phụ trợ nào họ đã sử dụng trong quá khứ và không khó để nghiên cứu một số giải pháp phụ trợ hiện tại của họ. Bạn không phải là Facebook. Bạn không cần phải chuẩn bị cho một tỷ người dùng ngay bây giờ. Bắt đầu với những công nghệ đơn giản đã được chứng minh. Điều này sẽ cho phép bạn mở rộng ứng dụng của mình một cách tự nhiên. Khi những công nghệ đó bắt đầu trở thành nút thắt cổ chai, thì hãy lo lắng về khả năng mở rộng.
Tôi hy vọng điều này sẽ giúp bạn bắt đầu hành trình viết mã của mình, nhưng hãy sử dụng Stack Overflow làm phương án cuối cùng nếu bạn gặp sự cố với mã. Không phải là đi đến ngay lập tức.