Mysql
 sql >> Baza danych >  >> RDS >> Mysql

MySql vs NoSql - Struktura danych i implementacja komentarzy i powiadomień w sieciach społecznościowych

Pytanie jest niezwykle szerokie, ale postaram się odpowiedzieć na nie najlepiej jak potrafię.

Generalnie nie lubię odpowiadać na takie pytania, ponieważ wygląda na to, że przed przyjazdem do SO zrobiłeś bardzo mało informacji. Wygląda również na to, że mylisz się z rolami aplikacji i baz danych. Przynajmniej zacznę od jakiegoś materiału/pomysłów i pozwolę Ci decydować samodzielnie.

Nie ma „srebrnej kuli” dla projektu backendu, zwłaszcza jeśli chodzi o bazy danych. Bazy danych SQL są ogólnie bardzo dobre w większości funkcji baz danych i słusznie; jest to technologia, która jest bardzo dojrzała i nie bez powodu przetrwała próbę czasu. Większość rozwiązań NOSQL jest wyspecjalizowanych do określonych celów. Na przykład:jeśli rejestrowałeś dużo informacji, możesz chcieć spojrzeć na Cassandrę. Jeśli masz do czynienia z dużą ilością danych relacyjnych, chciałbyś użyć czegoś takiego jak Neo4j (lub PostgreSQL/MySQL dla RMDBS). Jeśli masz do czynienia z dużą ilością danych w czasie rzeczywistym, możesz chcieć spojrzeć na Redis.

Głupotą jest pytać NOSQL vs SQL z kilku powodów:

NOSQL to ogólnie zły termin. I nie oznacza to "Brak SQL". Oznacza to "Nie tylko SQL". Niestety termin ten zawiera w sobie nawet najbardziej polarne przeciwieństwo baz danych.

Tylko Ty znasz pełną funkcjonalność swojej aplikacji. Nawet gdybym znał podstawy tego, co chciałeś osiągnąć, nadal nie mogłem dać ci ostatecznej odpowiedzi. Ani nikt inny. Jest to bardzo subiektywne i znowu tylko TY wiesz DOKŁADNIE, co powinna zrobić Twoja aplikacja.

Największy powód:jest rok 2014. Dlaczego jedna baza danych? Dziesięć lat temu „DatabaseX vs DatabaseY” byłoby praktycznym pytaniem. Teraz możesz skonfigurować wiele struktur aplikacji, aby niezawodnie korzystać z wielu baz danych w ciągu kilku minut. Morał z tej historii:używaj każdej bazy danych do jej specjalnego celu. Więcej o trwałości poliglota tutaj .

Jeśli chodzi o Facebooka:pięciominutowe wyszukiwanie w Google ujawnia, jakich technologii backendowych używali w przeszłości, i nie jest trudno zbadać niektóre z ich obecnych rozwiązań backendowych. Nie jesteś Facebookiem. Nie musisz teraz przygotowywać się na miliard użytkowników. Zacznij od prostych, sprawdzonych technologii. Umożliwi to naturalne skalowanie aplikacji. Kiedy te technologie zaczną stać się wąskim gardłem, martw się o skalowalność.

Mam nadzieję, że pomogło ci to w rozpoczęciu przygody z kodowaniem, ale jeśli masz problemy z kodem, użyj Stack Overflow w ostateczności. Nie jest to natychmiastowe przejście.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Błąd połączenia z bazą danych:(przy użyciu klasy org.gjt.mm.mysql.Driver) Instrukcja (1) nie ma otwartego kursora

  2. Usuwanie zduplikowanych wierszy z tabeli

  3. Jaka baza danych dla dużych baz danych?

  4. Błąd składni w instrukcji MERGE

  5. PHP:Iteruj po wielu tablicach i buduj zapytanie SQL INSERT