Sqlite czy MySql? Jak zdecydować? [Zamknięte]


94

Masz jakieś praktyczne zasady, jak zdecydować, którego z nich użyć?

A jeśli przejmujesz bazę danych Sqlite i oczekuje się, że system „stanie się znacznie większy”, jak zdecydować, czy się z nią trzymać, czy przenieść do MySql?


1
Rozważ FirebirdEmbedded, jest to bardzo potężna mieszanka tych dwóch.
Stefan Steiger

1
Głosowanie za zamknięciem jako zbyt szerokie. Ewentualny duplikat został usunięty: stackoverflow.com/questions/3630/sqlite-vs-mysql
Ciro Santilli 郝海东 冠状 病 六四 事件 法轮功

10
Jest teraz szeroka, ale kiedy opublikowano tego rodzaju pytanie, było do przyjęcia lub przynajmniej tolerowane. Mam nadzieję, że pytanie nie zostanie usunięte, podobnie jak ewentualny duplikat, aby inni mogli nadal czytać dyskusję i rekomendacje.
Mawg mówi, że przywróć Monikę

6
Szkoda, że ​​te pytania, które mają duży wpływ i widoczność (spójrz na liczbę pozytywnych głosów poniżej), są zamykane przez „monitory” tej witryny. Co sprawia, że ​​cały proces monitorowania i wybór monitorów jest dość wątpliwy.
francogrex

2
Standardy, wartości i cele strony zmieniały się z biegiem lat. „Oparty głównie na opiniach” nie jest już akceptowany. Gdybym chciał dziś o to zapytać, zapytałbym na softwarerecs.stackexchange.com , a nie tutaj, i wymieniłbym moje wymagania dotyczące bazy danych i otrzymałbym rekomendacje. Rozumiem, dlaczego moje pytanie zostało zamknięte, ale wciąż tęsknię za czasem, kiedy mieliśmy tag książek , a słowo „najlepsze” w tytule nie oznaczało natychmiastowego zamknięcia: - / YMMV
Mawg mówi, że przywróć Monikę

Odpowiedzi:


103

Ich zestawy funkcji wcale nie są takie same. Sqlite to wbudowana baza danych, która nie ma możliwości sieciowych (chyba że je dodasz). Nie możesz więc używać go w sieci.

Jeśli potrzebujesz

  • Dostęp do sieci - na przykład dostęp z innego komputera;
  • Dowolny rzeczywisty stopień współbieżności - na przykład, jeśli myślisz, że prawdopodobnie będziesz chciał uruchomić kilka zapytań jednocześnie lub uruchomić obciążenie, które ma wiele wyborów i kilka aktualizacji i chcesz, aby działały płynnie itp.
  • duże użycie pamięci, na przykład w celu buforowania części bazy danych o pojemności 1 TB w 32 GB pamięci.

Musisz użyć mysql lub innego opartego na serwerze RDBMS.

Zauważ, że MySQL nie jest jedynym wyborem i jest wiele innych, które mogą być lepsze dla nowych aplikacji (na przykład pgSQL).

Sqlite to bardzo, bardzo fajny program, ale nigdy nie twierdził, że robi coś takiego, co serwery RDBMS. Jest to mała biblioteka, która uruchamia SQL na plikach lokalnych (używając blokowania, aby zapewnić, że wiele procesów nie zepsuje pliku). Jest naprawdę dobrze przetestowany i bardzo mi się podoba.

Ponadto, jeśli nie jesteś w stanie sam wybrać tego poprawnie, prawdopodobnie musisz zatrudnić w swoim zespole kogoś, kto to potrafi.


Zasadniczo sqllite jest alternatywą dla plików dostępu ms.
dvdmn

2
Te trzy punkty są dokładnie tym, co powiedział Richard Hipp na: youtu.be/Jib2AmRb_rk?t=1693
Ciro Santilli 郝海东 冠状 病 六四 事件 法轮功

Dla uproszczenia zawsze mam jedno oprogramowanie, które jest jedynym użytkownikiem, który ma dostęp do bazy danych, nawet w przypadku aplikacji sieciowych, które używają bazy danych MySql.
Mawg mówi, że przywróć Monikę

57

Zespół sqlite opublikował artykuł wyjaśniający, kiedy używać sqlite, który jest świetną lekturą. Zasadniczo chcesz uniknąć używania sqlite, gdy masz dużo współbieżności zapisu lub potrzebujesz skalować do terabajtów danych. W wielu innych przypadkach sqlite jest zaskakująco dobrą alternatywą dla „tradycyjnej” bazy danych, takiej jak MySQL.


11

Gotowy do użycia SQLite nie jest tak naprawdę pełen funkcji w zakresie współbieżności. Będziesz mieć kłopoty, jeśli setki żądań internetowych trafią do tej samej bazy danych SQLite.

Zdecydowanie powinieneś wybrać MySQL lub PostgreSQL.

Jeśli jest to projekt jednoosobowy, SQLite będzie łatwiejszy do skonfigurowania.


Dla uproszczenia zawsze mam jedno oprogramowanie, które jest jedynym użytkownikiem, który ma dostęp do bazy danych, nawet w przypadku aplikacji sieciowych, które używają bazy danych MySql, ale, oczywiście, szczególnie dla Sqlite.
Mawg mówi, że przywróć Monikę

10

Moje kilka centów za poprzednie doskonałe odpowiedzi. witryna www.sqlite.org działa na bazie danych sqlite. Oto link, gdy autor (Richard Hipp) odpowiada na podobne pytanie.


1
Dziękuję za link, ten sam autor kontynuuje z własnym warsztatem, który przetestował na Athlonie 1600. 1 GB pamięci RAM. Dysk IDE 5400RPM. Redhat 7.3. Podsumowuje: „Teraz uważam, że SQLite nadaje się do wykorzystania jako główna baza danych w witrynach internetowych, które uzyskują do 1 miliona odwiedzin dziennie.”
Rutrus
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.