А нужна ли вам база данных?
Любой бизнес так или иначе генерирует и собирает самые разные данные, которые надо где-то хранить — в идеале так, чтобы еще и обеспечить к ним удобный доступ.Самое логичное решение этой задачи — развернуть базу данных.
А что если попробовать без нее?
По сути, данные в базе — это обычные файлы, с которыми вполне можно работать напрямую, без дополнительного слоя БДшной логики сверху. Вопрос только в том, будет ли это удобнее и быстрее? Ответ нашли ребята из DBPro — приложения по управлению базами данных.
Они протестировали разные способы найти данные внутри простых JSONL-файлов на трех датасетах — с 1000, 100 000 и 1 000 000 записей:
🔵Линейный поиск — каждый запрос читает весь файл целиком от первой до последней строки.
🔵Загрузка в память — при запуске приложения файл читается один раз, данные сохраняются в хэше, и поиск ведется по нему.
🔵Бинарный поиск по индексу — данные хранятся на диске и сортируются по Id, на основе чего и создается индекс.
🔵SQLite — собственно, классический вариант работы с данными через СУБД.
Вы уже, наверное, можете догадаться, что было в результатах, хотя бы частично: SQLite одинаково легко справляется что с 1000, что с 1 000 000 записей, а вот линейный поиск на больших датасетах позиции резко сдает. А вот то было неожиданно, так это то, что загрузка в память и бинарный поиск оказывались быстрее SQLite.
SQLite обрабатывала стабильные 25-26 тысяч запросов в секунду, бинарный поиск — до 45 тысяч, а поиск в памяти — до 169 тысяч. Этого не просто достаточно для большинства сайтов или приложений — многие и близко не подходят к такому объему.
Но надо учитывать, что эксперименте проводили на простых запросах, в которых не приходилось искать данные по нескольким полям сразу, объединять таблицы и применять другие интересные функции. То есть при всей простоте реализации и высокой производительности, способы применения ограничены проектами без сложной архитектуры, где не нужно работать с аналитикой.
🔜 В итоге эксперимент не столько убеждает срочно отказаться от использования БД, сколько подталкивает почаще мыслить нестандартно и смотреть критически даже на вещи, которые кажутся очевидными.
Post #2027
11.5K
- ❤🔥 3
- 🤣 2
- 🏆 2
- 👾 2
- 😱 1