Comments 16
Я его как то запускал. Мне показалось он медленно работал и очень большой файл для загрузки был.. А вы не сравнивали с sqlite ?
хм, тестил в bun, летало (запросы обрабатывались практически мгновенно, суб-миллисекундно). со sqlite не сравнивал, но я бы не ставил их в один ряд.
всё таки sqlite - это прямо таки решение для работы с данными, полноценная pluggable база данных с локальными файлами.
PGlite - это больше именно способ поиграться локально с постгресом. протестить синтаксис, погонять какие-то проверки, сделать демо-версию приложения с in-memory базой без необходимости адаптировать синтаксис. как полноценную замену SQLite я бы его сейчас не рассматривал (хотя в будущем надеюсь это станет возможным)
Это две бд. Обе sql. А что их не ставить то в один ряд ?
Если поиграться ну тогда наверное да.
Sqlite - это СУБД, решает задачи работы с данными. Postgres - это СУБД, решает те же задачи.
А вот PGlite - это именно "эмулятор" постгреса, возможность запустить Postgres в нестандартной среде, в однопоточном режиме. Postgres никогда не разрабатывался как решение для локальной in-app однопоточной базы данных, все оптимизации, которые есть в Postgres - не только будут в таком режиме бесполезны, но и, скорее всего, вредны.
поэтому мне кажется их некорректно сравнивать - SQLite - это полноценное решение, которое делалось специально как in-app БД.
PGlite создавался для других целей :)
Я просто оставлю это здесь для тех, кто наслушался Ситника...
code-size: 3.9 MB
init: 2516 ms
insert: 92 ms
select: 83 ms
db-size: 2 MB
code-size: 2.3 KB
init: 71 ms
insert: 1.25 ms
select: 0.43 ms
db-size: 1 KB
Так люди хотят именно Postgres в браузере, а не какую-то другую поделку, которая даже не про SQL.
mol_db на базе indexdb работает?
Вопрос: Можно ли загрузить экземпляр изменённой базы из браузера обратно на сервер и там новые данные приобщить к остальным?
В 22 версии NodeJS встроили поддержку SQLite работающую через флаг. Использую ее как раз ради тестовых запросов и хранилища в памяти. Но здесь можно использовать и в браузере, поэтому модуль имеет смысл, надо будет попробовать.
Не очень понятно накой нужен локальный сервер. Смысл сервера как раз в многопользовательском режиме. Разве что для каких-то промежуточных данных или программ индивидуального пользования.
Пример у меня был не так давно. Я сливал таблицы 2х разных типов баз, сравнивал их, делал нужные выборки, и выполнял определенные операции. Делать это на чистых объектах - очень сложно. Проще взять локальную базу данных, загнать туда данные и сделать нужные выборки.
Не скажу что это приложение было для индивидуального пользования. Бывает так, что полноценная база ненужна для сервиса, а вот какое то встраиваемое решение для определенной задачи, может пригодится.
Я бы даже больше сказал, что в последнее время я больше прихожу именно к встраиванию базы в приложение.
Так что для меня решение интересное, темболее что с PG я знаком хорошо.
ну для многопользовательского режима надо туда еще pgbouncer вкрутить - и можно впрод ))
а для тестов подойдет?
PGlite — полноценный Postgres-сервер на WASM. Работает прямо в браузере и Node.js