Sqlite чи MySql? Як вирішити? [зачинено]


94

Будь-які хороші емпіричні правила щодо того, як вирішити, який із них використовувати?

І якщо ви берете на себе базу даних Sqlite, і система, як очікується, «стане набагато більшою», як вирішити, чи дотримуватися її, чи перейти до MySql?


1
Розглянемо FirebirdEmbedded, це дуже потужна суміш двох.
Stefan Steiger

1
Голосування за закриття як занадто широке. Можливий дублікат був видалений: stackoverflow.com/questions/3630/sqlite-vs-mysql
Чіро Сантіллі郝海东冠状病六四事件法轮功

10
Зараз воно широке, але коли його розміщували, таке запитання було прийнятним або, принаймні, терпимим. Я сподіваюся, що питання не буде видалено, як і можливий дублікат, так що інші зможуть прочитати обговорення та рекомендації.
Моуг каже, що відновити Моніку

5
Шкода, що ті запитання, які мають великий вплив та видимість (подивіться на кількість голосів "за" нижче), закриваються "моніторами" цього сайту. Що робить весь процес моніторингу та моніторингу доволі сумнівним.
francogrex

2
Стандарти, цінності та цілі сайту змінюються протягом багатьох років. "В основному на основі думок" більше не прийнятно. Якби я хотів запитати це сьогодні, я б запитав на softwarerecs.stackexchange.com , а не тут, і перелічив би мої вимоги до бази даних і отримав би рекомендації. Я розумію, чому моє запитання було закрито, але я все ще ностальгую за часом, коли раніше у нас був тег книг , і слово "найкраще" в заголовку не означало негайного закриття: - / YMMV
Моуг каже відновити Моніку

Відповіді:


103

Їх набори функцій зовсім не однакові. Sqlite - це вбудована база даних, яка не має мережевих можливостей (якщо ви не додасте їх). Тому ви не можете використовувати його в мережі.

Якщо вам потрібно

  • Доступ до мережі - наприклад, доступ з іншої машини;
  • Будь-який реальний ступінь одночасності - наприклад, якщо ви думаєте, що ви, мабуть, хочете запустити кілька запитів одночасно, або запустити робоче навантаження, що має безліч виділень та кілька оновлень, і хочете, щоб вони пройшли безперебійно тощо.
  • багато використання пам'яті, наприклад, для буферизації частин вашої бази даних на 1 Тб у вашій пам’яті 32G.

Вам потрібно використовувати mysql або іншу СУБД на базі сервера.

Зверніть увагу, що MySQL - не єдиний вибір, і існує безліч інших, які можуть бути кращими для нових додатків (наприклад, pgSQL).

Sqlite - це дуже, дуже приємна частина програмного забезпечення, але вона ніколи не заявляла, що робить щось із цього, що роблять сервери RDBMS. Це невелика бібліотека, яка запускає SQL на локальних файлах (за допомогою блокування, щоб переконатися, що багато процесів не псують файл). Це дійсно добре перевірено, і мені це дуже подобається.

Крім того, якщо ви не можете самостійно правильно вибрати це, вам, мабуть, потрібно найняти когось із вашої команди, хто може.


Отже, в основному sqllite є альтернативою файлам доступу до ms.
dvdmn

2
Ці три пункти - це саме те, про що говорить Річард Хіп: youtu.be/Jib2AmRb_rk?t=1693
Ciro Santilli 郝海东 冠状 病 六四 事件 法轮功

Для простоти у мене завжди є одна частина програмного забезпечення, яка є єдиним користувачем, який має доступ до бази даних, навіть для мережевих додатків, які використовують базу даних MySql.
Моуг каже, що відновити Моніку

57

Команда sqlite опублікувала статтю, яка пояснює, коли використовувати sqlite, який чудово читається. В основному, ви хочете уникати використання sqlite, коли у вас багато паралельного запису або вам потрібно масштабувати до терабайт даних. У багатьох інших випадках sqlite є напрочуд гарною альтернативою "традиційній" базі даних, такій як MySQL.


11

SQLite нестандартно насправді не є повноцінним щодо паралельності. Ви потрапите в біду, якщо у вас є сотні веб-запитів, що потрапляють в ту саму базу даних SQLite.

Вам обов’язково слід використовувати MySQL або PostgreSQL.

Якщо це проект для однієї особи, SQLite буде простіше налаштувати.


Для простоти у мене завжди є одна частина програмного забезпечення, яка є єдиним користувачем, який має доступ до бази даних, навіть для мережевих додатків, які використовують базу даних MySql, але, звичайно, особливо для Sqlite.
Моуг каже, щоб відновити Моніку

10

Мої кілька центів до попередніх чудових відповідей. сайт www.sqlite.org працює над базою даних sqlite. Ось посилання, коли автор (Річард Хіпп) відповідає на подібне запитання.


1
Дякую за посилання, той же автор продовжує власний робочий стіл, який він протестував на Athlon 1600. 1 Гб оперативної пам'яті. 5400 об / хв IDE диск. Redhat 7.3. Він робить висновок: «Зараз я вважаю, що SQLite придатний для використання в якості основної бази даних на веб-сайтах, які отримують до 1 мільйона переглядів на день».
Рутрус,
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.