1.1, Fracta1L (ok), 11:31, 15/08/2020 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
Как понять, в каких условиях/задачах не хватает сабжа и нужно переходить на тяжеловесов типа mysql и postgresql?
| |
|
2.2, Михрютка (ok), 11:32, 15/08/2020 [^] [^^] [^^^] [ответить]
| +1 +/– |
> Как понять, в каких условиях/задачах не хватает сабжа и нужно переходить на
> тяжеловесов типа mysql и postgresql?
когда расперделенные транзакции понадобятся
| |
2.8, Аноним (8), 12:16, 15/08/2020 [^] [^^] [^^^] [ответить]
| +1 +/– |
Склайт вроде как встроенная СУБД, если нужна клиент-серверность, когда разные приложухи стучат на один сервер БД, тогда уже её не хватит.
| |
|
3.11, Аноним (11), 13:20, 15/08/2020 [^] [^^] [^^^] [ответить]
| +/– |
Она по-моему плохо скалируется и работает в 1 поток (или что-то там такое), фактически можно иметь только 1 подключение к ней, иначе ты нарываешься на проблемы. Ну и ещё встроенных возможностей для серьёзного применения маловато, маловато. Я не помню подробностей, но когда рассматривали возможность мигрировать с mssql, она была одним из вариантов. Выбрали поcтгрес в итоге, всё норм, стало намного лучше.
| |
|
|
|
6.18, Аномномномнимус (?), 16:54, 15/08/2020 [^] [^^] [^^^] [ответить]
| +2 +/– |
mssql ce с ограничением в 4Гб на базу и вечными поломками к счастью давно мертва. Про посгре - а давайте пруфы?
| |
|
|
4.31, Аноним (31), 21:59, 15/08/2020 [^] [^^] [^^^] [ответить]
| +/– |
Пользуйся LMDB. Не SQL, но зачем лишние прослойки на локалхосте. Кстати, какой-то чувак как раз эту LMDB влепил бэкендом в SQLite c офигенным приростом производительности в итоге. Я не в теме что там у SQLite сейчас внутри, но для простых баз смысла в SQL не вижу.
| |
|
|
|
7.58, пох. (?), 17:06, 21/08/2020 [^] [^^] [^^^] [ответить]
| –1 +/– |
> Хотя вот ещё нашёл: https://github.com/LumoSQL/LumoSQL
от это ты правильную весчь нашел - замах на мировую революцию, но начали (и, в основном, закончили) написанием CoC (что, конечно, очень важная и нужная задача, с учетом того что у автора оригинала там скорее anti-coc)
этот проект определенно имеет большое будущее.
| |
|
6.36, Аноним (31), 03:00, 16/08/2020 [^] [^^] [^^^] [ответить]
| +/– |
Да, вроде оно.
ХЗ как бы там какие дела не обстояли, я юзаю LMDB и мне хватает и хорошо.
| |
|
7.54, мяя (?), 16:10, 18/08/2020 [^] [^^] [^^^] [ответить]
| +/– |
Я не лео, но идейку ему стоит подкинуть, хотя это наверное трудозатратно слишком.
| |
|
6.57, пох. (?), 17:04, 21/08/2020 [^] [^^] [^^^] [ответить]
| –1 +/– |
> Можно поподробнее? Это речь про это https://github.com/LMDB/sqlightning ?
последнее обновление шесть лет назад, ага. очень важный и нужный проект.
> Интересно как дела бы обстояли если бы там был более прокаченный вариант
> LMDB — MDBX.
так же - после публикации бесполезных пузомерок автор растворился бы в тумане (универ заканчивается, надо наниматься в гребцы, это занятие не оставит времени на фигню)
| |
|
5.34, Аноним (11), 00:01, 16/08/2020 [^] [^^] [^^^] [ответить]
| +/– |
На самом деле leveldb или rocks. Или даже kyoto cabinet. Если нужна запись. Да и жор у lmdb. Обойти sqlite не сложно. Но нет серебряной пули, в любом случае.
| |
|
4.41, economist (?), 17:54, 16/08/2020 [^] [^^] [^^^] [ответить]
| +/– |
Файловая SQLite - это 4 одновременных потока на чтения или 1 на запись. Если кто знает как работает MS Access c 5-ю пользователями - то SQLite работает с такой же скоростью на выборку. Но запросы в ней пишутся в 2 раза быстрее и проще, и они кароч
| |
|
5.42, economist (?), 18:47, 16/08/2020 [^] [^^] [^^^] [ответить]
| +/– |
А если вы любите язык С - то Python искаропки имеет модуль sqlite3 и по сути делает этот движок серверным, т.к. его WAL упорядочивает очередь. Сама по себе скорость SQLite настолько высока, что при 5-7 пользователях - файловая безсерверная база данных освобождается для следующей транзакции быстрее, чем MySQL, FireBird, PostgreSQL. Если это не одна и та же таблица и не одна и та же индексная сущность.
| |
|
|
7.44, economist (?), 21:24, 16/08/2020 [^] [^^] [^^^] [ответить]
| +/– |
При записи будет таймаут, то есть ничего. Просто пауза для пишущего процесса.
| |
|
|
|
4.53, Убить_Криса (?), 11:13, 18/08/2020 [^] [^^] [^^^] [ответить]
| +/– |
неа, не в один, там зависит все от опций компиляции, MT короче она поддерживает на отличненько
| |
|
|
2.9, Аноним (-), 12:22, 15/08/2020 [^] [^^] [^^^] [ответить]
| +4 +/– |
Когда останется пару свободных террабайтов, например при размере базы в 279 тб
| |
2.17, Alex (??), 16:01, 15/08/2020 [^] [^^] [^^^] [ответить]
| +4 +/– |
Чтение сразу несколькими клиентами работает отлично, но писать может только один клиент. Работа с датой - танец с бубном.
А в остальном отличная база, для многих локальных приложений хватает с головой.
| |
|
3.29, Аноним (29), 21:08, 15/08/2020 [^] [^^] [^^^] [ответить]
| +/– |
> Чтение сразу несколькими клиентами работает отлично, но писать может только один клиент
Это, кстати, очень обманчивое заявление. В теории так и должно быть, но для этого нужно чтобы все соединения всегда открывали базу только на чтение, и ни разу - на запись. Соединение, открытое только на чтение, не поддерживает WAL, а значит апгрейд во время транзакции невозможен (как и плавный апгрейд в принципе). Как следствие, открытие на чтение требует специальных танцев - это НЕ дефолтная конфигурация! В некоторых языках/фреймворках (например Django/python) открытие SQLite базы только на чтение вообще толком не работает.
| |
|
4.45, economist (?), 21:26, 16/08/2020 [^] [^^] [^^^] [ответить]
| +/– |
Что за чушь!
Сначала хотел ведь написать подробно, но потом посмотрел на адресную строку и...
| |
|
5.51, Аноним (50), 10:07, 18/08/2020 [^] [^^] [^^^] [ответить]
| –1 +/– |
Самый лучший менеджер баз данных, какой я знаю, - это DBeaver. Бесплатное и свободное ПО. Переплюнул платный и проприетарный Navicat Premium.
Две вещи плохи.
1. автор взял и решил: "больше 32 бита я поддерживать не буду".
2. требует яву и сделан поверх eclipse, как следствие - страшно жрёт оперативу
| |
|
6.59, пох. (?), 17:08, 21/08/2020 [^] [^^] [^^^] [ответить]
| –2 +/– |
> Самый лучший менеджер баз данных, какой я знаю, - это DBeaver. Бесплатное
> и свободное ПО. Переплюнул платный и проприетарный Navicat Premium.
> Две вещи плохи.
бггг - это одна и та же вещь
> 1. автор взял и решил: "больше 32 бита я поддерживать не буду".
именно потому, что:
> 2. требует яву и сделан поверх eclipse, как следствие - страшно жрёт
> оперативу | |
6.75, РедХет (?), 19:21, 24/08/2020 [^] [^^] [^^^] [ответить]
| +/– |
Да ничего он не жрёт. Обычная IDE. Минусы у неё, на мой взгляд, другие. Меня, например, бесит, что нельзя транзакциями явно управлять.
| |
|
5.70, РедХет (?), 19:04, 24/08/2020 [^] [^^] [^^^] [ответить]
| +/– |
Нет. Лайт как был "встройкой" для однопользовательских задач, так ей и остался. Прочие применения -- явная девиация.
| |
|
|
|
2.21, Анончик (?), 17:22, 15/08/2020 [^] [^^] [^^^] [ответить]
| +2 +/– |
Когда перестанете накидывать и начнёте работать так сразу поймёте.
| |
|
3.27, Fracta1L (ok), 20:27, 15/08/2020 [^] [^^] [^^^] [ответить]
| +1 +/– |
То есть, если "одна БД - одна программа", то sqlite хватит более чем?
| |
|
4.71, РедХет (?), 19:07, 24/08/2020 [^] [^^] [^^^] [ответить]
| +/– |
От характера "программы" зависит. Лайт не MVCC и не умеют делать настоящий Serializable или RR. Поэтому, если искажения прецеденции недопустимы или нужно честное RR, то Лайт не подойдёт.
| |
4.79, РедХет (?), 11:22, 25/08/2020 [^] [^^] [^^^] [ответить]
| +/– |
Лайт нужен тогда, когда вы хотите просто получить возможность работать с данными через SQL. Потому что это очень удобно.
| |
|
|
2.68, РедХет (?), 19:00, 24/08/2020 [^] [^^] [^^^] [ответить]
| +/– |
Очевидно, когда появится необходимость в многопользовательской работе с более-менее сложными сценариями изоляции транзакций.
| |
|
1.3, Аноним (11), 11:32, 15/08/2020 [ответить] [﹢﹢﹢] [ · · · ]
| –3 +/– |
>Максимальный размер БД увеличен до 281 TB.
Выглядит как искусственное ограничение. Это всего один-два десятка дисков, не серьёзно.
| |
|
2.25, Аноним84701 (ok), 20:19, 15/08/2020 [^] [^^] [^^^] [ответить]
| +/– |
>>Максимальный размер БД увеличен до 281 TB.
> Выглядит как искусственное ограничение. Это всего один-два десятка дисков, не серьёзно.
С нетерпением ждем анонимных патчей.
https://www.sqlite.org/limits.html
> The maximum size of a database file is 4294967294 pages. At the maximum page size of 65536 bytes, this translates into a maximum database size of approximately 1.4e+14 bytes (281 terabytes, or 256 tebibytes, or 281474 gigabytes or 256,000 gibibytes).
> | |
|
3.52, Аноним (50), 10:09, 18/08/2020 [^] [^^] [^^^] [ответить]
| +/– |
SQLite не принимает патчи. У них политика - "весь копирайт на весь код должен быть чисто нашим. Нужна фича в апстриме - вы нам о ней сообщаете, мы говорим, готовы ли мы держать такую фичу в апстриме, вы нам платите, мы её делаем."
| |
|
|
|
2.5, A.Stahl (ok), 11:55, 15/08/2020 [^] [^^] [^^^] [ответить]
| +2 +/– |
switch (type)
case binary64: {
Вот в таких кейсах, например. А ещё этот кейс можно распечатать и положить в кожаный кейс. И в дермантиновый тоже. Вот.
P.S. РБЗ-127.2 §12, 13, 17 (а, б)
| |
|
3.6, Иваня (?), 12:05, 15/08/2020 [^] [^^] [^^^] [ответить]
| +/– |
Остряк. Я про то, в каких ситуациях лучше подходят такие числа?
| |
|
4.7, A.Stahl (ok), 12:11, 15/08/2020 [^] [^^] [^^^] [ответить]
| +3 +/– |
Я не спец на самом деле, но здравый смысл подсказывает что такие числа полезны когда ты проводишь много арифметических операций с маленькими (уровня массы атома в килограммах) числами: при делении\умножении погрешность должна накапливаться довольно быстро.
| |
|
5.85, НямНямка (?), 17:21, 25/08/2020 [^] [^^] [^^^] [ответить]
| +/– |
Э, вряд ли. 754-тый типично применяется, когда у величины нет натурального штучного выражения. Вернее, когда им можно в рамках данного предметного домена принебречь.
| |
|
4.84, НямНямка (?), 17:18, 25/08/2020 [^] [^^] [^^^] [ответить]
| +/– |
Например, когда у тебя есть технические ограничения на размер регистра, а данные, которые в этом регистре предполагается хранить меняются в очень широком диапазоне. Какой-нибудь сейсмодатчик или спектрофотометр. Тогда их рациональней хранить в виде числа с плавающей запятой. А коль исходные данные хранятся в виде числа с плавающей запятой, то и принимающая система должна такие данные уметь забрать без потерь точности.
| |
|
3.10, funny.falcon (?), 12:43, 15/08/2020 [^] [^^] [^^^] [ответить]
| +1 +/– |
Что-то мне подсказывает, что binary64 в ieee754 - это привычный нам double, он же float64.
Видимо, в расширении до этого он обрабатывался на равне с другими, а тут они сделали special case и использовали нативные типы.
| |
|
|
5.16, n00by (ok), 14:55, 15/08/2020 [^] [^^] [^^^] [ответить]
| +/– |
Дана же ссылка, где написано:
So-called "REAL" or floating point values are stored in the IEEE 754 Binary-64 format.
| |
|
|
|
|
3.37, Анонимус66 (?), 05:10, 16/08/2020 [^] [^^] [^^^] [ответить]
| +3 +/– |
Причем со всеми его недостатками в виде неточности машинной арифметики чисел двойной точности. Об этом они даже сами упомянули в документации https://www.sqlite.org/floatingpoint.html#decext
, а именно: "Floating point values are approximate ← Always remember this!" . Поэтому и набор функций там достаточно интересный идет к расширению.
Вообще, если они добавят расширение по умолчанию в amalgamation, то на всяких форумах тоже будут галдеть, почему при сложении двух различных чисел, получается лабуда, как в JS. Причем описанной проблемы из JS https://olegbarabanov.ru/dev/problemy-bolshih-chisel-v-javascript-ili-zachem-n , соответственно найдутся и те, кто не зная реализации, может удивиться и кричать, что Sqlite3 глючит и пр. Binary64 стоит применять с умом.
| |
|
4.87, РедХет (?), 18:29, 29/08/2020 [^] [^^] [^^^] [ответить]
| +/– |
О ужас. Вообще не все вещественные числа представимы степенью двойки. Принципиально. И что, теперь компы -- на свалку, а двухметровые логарифмические линейки -- наше всё?
| |
|
|
2.72, РедХет (?), 19:10, 24/08/2020 [^] [^^] [^^^] [ответить]
| +/– |
Когда делаешь операции на числах с плавающей запятой или принимает такие числа из оборудования. Вообще, когда с 754-тым работаешь. А это, например, приём данных от прецезионного измерительного оборудования.
| |
|
1.39, Онаним (?), 15:34, 16/08/2020 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
> В режиме WAL (Write-Ahead Logging) в случае сбоя операции записи, ведущей к нарушению согласованности данных в файле shm, идущие следом транзакции теперь могут восстановить целостность файла shm
Um, кто-нибудь поясните мне, что тут написано.
Это особенность перевода, или UB теперь официально фича, а не баг?
| |
|
2.40, Онаним (?), 15:36, 16/08/2020 [^] [^^] [^^^] [ответить]
| –1 +/– |
Почитал про wal-index, да, это какое-это UB УГ, будьте осторожны.
| |
|
3.48, Онаним (?), 22:14, 16/08/2020 [^] [^^] [^^^] [ответить]
| –1 +/– |
> Как раз все понятно.
Вообще говоря никаких существенных "повреждений" файла СУБД, вызывающих ошибки у параллельно работающих приложений, не должно быть даже в случае краха приложения.
| |
|
4.56, пох. (?), 16:52, 21/08/2020 [^] [^^] [^^^] [ответить]
| +/– |
> Вообще говоря никаких существенных "повреждений" файла СУБД, вызывающих ошибки у параллельно
> работающих приложений, не должно быть даже в случае краха приложения.
"приложение" - это откуда-то из лексиона дефективных менеджеров.
В случае sqlite - "приложение" и есть сама субд. Разумеется, при крэше субд - с ее базами могут происходить всякие нежелательные чудеса. Пиши код чтоб не крэшился, что-ли, а то ж он не только базу попортит...
Хотя автор и очень аккуратно подходит к этой ситуации, и в большинстве случаев ничего фатального не происходит, а при следующем открытии базы она молча самоисправляется, но если у тебя крэши норма - вероятно, ты выбрал не ту субд.
| |
|
5.60, Онаним (?), 09:29, 22/08/2020 [^] [^^] [^^^] [ответить]
| +/– |
> "приложение" - это откуда-то из лексиона дефективных менеджеров.
Внезапно - просто дословный перевод слова "application".
> В случае sqlite - "приложение" и есть сама субд.
Нет. Есть код приложения, и есть библиотека СУБД. Приложение не работает напрямую с файлами СУБД, оно работает с СУБД только через API данной библиотеки. Забота о файлах - задача данной библиотеки.
> Пиши код чтоб не крэшился, что-ли, а то ж он не только базу попортит...
Но вы-то наверняка способны заранее предсказать весь +INF возможных ситуаций, включая собственные ошибки.
| |
|
6.62, пох. (?), 09:53, 22/08/2020 [^] [^^] [^^^] [ответить]
| –1 +/– |
> Внезапно - просто дословный перевод слова "application".
ну так это - для дЭффективных слово-то.
У технического персонала есть программы.
> Нет. Есть код приложения, и есть библиотека СУБД.
код "приложения" состоит из "библиотек" (sqlite необязательо и незачем, кстати, быть оформленной именно "библиотекой" в смысле ld), и что?
С момета включения ее в код - ты и есть "субд". С какими-то еще фичами.
В этом ключевое отличие embedded database.
> Но вы-то наверняка способны заранее предсказать весь +INF возможных ситуаций, включая
> собственные ошибки.
нет, но у многих программ крэш - катастрофическая ситуация, для защиты от которой надо подкладывать организационную соломку и при этом все равно прилагать усилия чтоб не крэшилось ни в каком случае.
Например, крэш ядра линукса способен превратить твои данные в тыкву.
| |
|
5.61, Онаним (?), 09:31, 22/08/2020 [^] [^^] [^^^] [ответить]
| +/– |
И даже ладно, не собственные ошибки, а кривые руки вон того васяна, который одну из цгруп своего докерка запилил на 128M RAM, что постоянно валит приложение в OOM.
| |
|
6.63, пох. (?), 10:25, 22/08/2020 [^] [^^] [^^^] [ответить]
| –1 +/– |
Ну и чем тебя тут спасла бы самая золотая субд?
Давай орацкл запустим кривыми руками того же васяна, а потом, глядя на неустранимые ora006, будем всем рассказывать, какой орацл плохой. Или попробуем поднять рухнувший postgres (вот кто умеет крэшнуться сам по себе с оригинальными последствиями), или вон могу подарить снапшот mysql в принципе не подлежащий восстановлению не смотря на lock database в момент снапшота.
embedded db не позволяет тебе изолировать критичную часть "приложения" там где к ней нет доступа у васянов ни в плане администрежа, ни в плане гуанокодинга? Ну да, тоже мне, открытие.
Ну меня это как-то не беспокоит, я десять лет с такими имел дело на заре карьеры - начиная от уродов типа dbase и заканчивая вполне приличным clarion (да, они все embedded, правда, своеобразным способом). Ничуть не сложнее и не неудобнее чем орацл - скорее наоборот, ибо предсказуемее. Бэкап при этом никто не отменял.
В конце-концов, в XXI веке все еще кое-где у нас порой не абсолютно все на свете хранится в таблицах - как тебе твоя крэшащаяся программа например в обработке денег смотрится?
Или даже банально твоей почты - когда потеряет письмо от твоего нигерийского дяди, завещавшего три миллиарда не нигерийских долларов первому, кто на него ответит? (Ну ок, от работодателя с предложением интересной работы в хороших условиях - не получив ответа, ставящего галочку "соискатель не имеет нужной квалификации чтобы хотя бы почту читать")
При этом, повторяю, именно sqlite имеет максимум средств для восстановления в этой ситуации, васянами не воспроизводимых на коленке - о чем я каждый раз получаю напоминание, перезапуская фуфлофокс. Эти дятлы неосилили sqlite, ага, они умеют ведь кодить только в "html+js" и еще вот немножечко в md. Поэтому то что их предшественники хранили в ней, у них перенесено в нескучный json. Без средств сохранения целостности, восстановления и хотя бы проверки.
| |
|
7.64, Онаним (?), 10:33, 22/08/2020 [^] [^^] [^^^] [ответить]
| +/– |
Золотая субд не нужна, но вот наличие странного поведения (скажем так, UB) в обработке файлов напрягает.
Хотя лично мне пофиг, я в таком режиме SQLite3 не использую, жертвую производительностью немножко.
| |
|
8.65, пох. (?), 10:57, 22/08/2020 [^] [^^] [^^^] [ответить] | –1 +/– | там нет никакого странного поведения а в случае орацла ты спишь спокойно, потом... текст свёрнут, показать | |
|
9.66, Онаним (?), 13:25, 22/08/2020 [^] [^^] [^^^] [ответить] | +/– | Орацл я имел счастье одному товарищу выковыривать с полумёртвой системы и полумё... текст свёрнут, показать | |
9.67, Онаним (?), 13:26, 22/08/2020 [^] [^^] [^^^] [ответить] | +/– | Потеря транзакции - терпимо Вот отказы в исполнении соседних транзакций - так с... текст свёрнут, показать | |
|
|
|
|
|
|
|
|
1.83, РедХет (?), 11:44, 25/08/2020 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
А как лайт исходно работал без поддержки 754-того? Он же, вроде как, встройка для военных исходно. А там 754-тый используется.
| |
|