The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Режим отображения отдельной подветви беседы [ Отслеживать ]

Оглавление

Релиз СУБД SQLite 3.33, opennews (ok), 15-Авг-20, (0) [смотреть все]

Сообщения [Сортировка по времени | RSS]


48. "Релиз СУБД SQLite 3.33"  –1 +/
Сообщение от Онаним (?), 16-Авг-20, 22:14 
> Как раз все понятно.

Вообще говоря никаких существенных "повреждений" файла СУБД, вызывающих ошибки у параллельно работающих приложений, не должно быть даже в случае краха приложения.

Ответить | Правка | Наверх | Cообщить модератору

56. "Релиз СУБД SQLite 3.33"  +/
Сообщение от пох. (?), 21-Авг-20, 16:52 
> Вообще говоря никаких существенных "повреждений" файла СУБД, вызывающих ошибки у параллельно
> работающих приложений, не должно быть даже в случае краха приложения.

"приложение" - это откуда-то из лексиона дефективных менеджеров.

В случае sqlite - "приложение" и есть сама субд. Разумеется, при крэше субд - с ее базами могут происходить всякие нежелательные чудеса. Пиши код чтоб не крэшился, что-ли, а то ж он не только базу попортит...

Хотя автор и очень аккуратно подходит к этой ситуации, и в большинстве случаев ничего фатального не происходит, а при следующем открытии базы она молча самоисправляется, но если у тебя крэши норма - вероятно, ты выбрал не ту субд.

  

Ответить | Правка | Наверх | Cообщить модератору

60. "Релиз СУБД SQLite 3.33"  +/
Сообщение от Онаним (?), 22-Авг-20, 09:29 
> "приложение" - это откуда-то из лексиона дефективных менеджеров.

Внезапно - просто дословный перевод слова "application".

> В случае sqlite - "приложение" и есть сама субд.

Нет. Есть код приложения, и есть библиотека СУБД. Приложение не работает напрямую с файлами СУБД, оно работает с СУБД только через API данной библиотеки. Забота о файлах - задача данной библиотеки.

> Пиши код чтоб не крэшился, что-ли, а то ж он не только базу попортит...

Но вы-то наверняка способны заранее предсказать весь +INF возможных ситуаций, включая собственные ошибки.

Ответить | Правка | Наверх | Cообщить модератору

62. "Релиз СУБД SQLite 3.33"  –1 +/
Сообщение от пох. (?), 22-Авг-20, 09:53 
> Внезапно - просто дословный перевод слова "application".

ну так это - для дЭффективных слово-то.

У технического персонала есть программы.

> Нет. Есть код приложения, и есть библиотека СУБД.

код "приложения" состоит из "библиотек" (sqlite необязательо и незачем, кстати, быть оформленной именно "библиотекой" в смысле ld), и что?

С момета включения ее в код - ты и есть "субд". С какими-то еще фичами.
В этом ключевое отличие embedded database.

> Но вы-то наверняка способны заранее предсказать весь +INF возможных ситуаций, включая
> собственные ошибки.

нет, но у многих программ крэш - катастрофическая ситуация, для защиты от которой надо подкладывать организационную соломку и при этом все равно прилагать усилия чтоб не крэшилось ни в каком случае.
Например, крэш ядра линукса способен превратить твои данные в тыкву.

Ответить | Правка | Наверх | Cообщить модератору

61. "Релиз СУБД SQLite 3.33"  +/
Сообщение от Онаним (?), 22-Авг-20, 09:31 
И даже ладно, не собственные ошибки, а кривые руки вон того васяна, который одну из цгруп своего докерка запилил на 128M RAM, что постоянно валит приложение в OOM.
Ответить | Правка | К родителю #56 | Наверх | Cообщить модератору

63. "Релиз СУБД SQLite 3.33"  –1 +/
Сообщение от пох. (?), 22-Авг-20, 10:25 
Ну и чем тебя тут спасла бы самая золотая субд?
Давай орацкл запустим кривыми руками того же васяна, а потом, глядя на неустранимые ora006, будем всем рассказывать, какой орацл плохой. Или попробуем поднять рухнувший postgres (вот кто умеет крэшнуться сам по себе с оригинальными последствиями), или вон могу подарить снапшот mysql в принципе не подлежащий восстановлению не смотря на lock database в момент снапшота.

embedded db не позволяет тебе изолировать критичную часть "приложения" там где к ней нет доступа у васянов ни в плане администрежа, ни в плане гуанокодинга? Ну да, тоже мне, открытие.

Ну меня это как-то не беспокоит, я десять лет с такими имел дело на заре карьеры - начиная от уродов типа dbase и заканчивая вполне приличным clarion (да, они все embedded, правда, своеобразным способом). Ничуть не сложнее и не неудобнее чем орацл - скорее наоборот, ибо предсказуемее. Бэкап при этом никто не отменял.

В конце-концов, в XXI веке все еще кое-где у нас порой не абсолютно все на свете хранится в таблицах - как тебе твоя крэшащаяся программа например в обработке денег смотрится?
Или даже банально твоей почты - когда потеряет письмо от твоего нигерийского дяди, завещавшего три миллиарда не нигерийских долларов первому, кто на него ответит? (Ну ок, от работодателя с предложением интересной работы в хороших условиях - не получив ответа, ставящего галочку "соискатель не имеет нужной квалификации чтобы хотя бы почту читать")

При этом, повторяю, именно sqlite имеет максимум средств для восстановления в этой ситуации, васянами не воспроизводимых на коленке - о чем я каждый раз получаю напоминание, перезапуская фуфлофокс. Эти дятлы неосилили sqlite, ага, они умеют ведь кодить только в "html+js" и еще вот немножечко в md. Поэтому то что их предшественники хранили в ней, у них перенесено в нескучный json. Без средств сохранения целостности, восстановления и хотя бы проверки.

Ответить | Правка | Наверх | Cообщить модератору

64. "Релиз СУБД SQLite 3.33"  +/
Сообщение от Онаним (?), 22-Авг-20, 10:33 
Золотая субд не нужна, но вот наличие странного поведения (скажем так, UB) в обработке файлов напрягает.
Хотя лично мне пофиг, я в таком режиме SQLite3 не использую, жертвую производительностью немножко.
Ответить | Правка | Наверх | Cообщить модератору

65. "Релиз СУБД SQLite 3.33"  –1 +/
Сообщение от пох. (?), 22-Авг-20, 10:57 
> Золотая субд не нужна, но вот наличие странного поведения (скажем так, UB) в обработке файлов

там нет никакого странного поведения.
> напрягает.

а в случае орацла ты спишь спокойно, потому что просто ничего не знаешь о том, как у него устроен лог.
Ну ооок...

> Хотя лично мне пофиг, я в таком режиме SQLite3 не использую, жертвую производительностью
> немножко.

переписывание файла с данными на каждую транзакцию - это не так чтоб немножко, в общем-то.

И от потери транзакции на 100% не гарантирует.

Если тебе так уж остро необходима дополнительная защита от гунанокодеров - возможно, стоит рассмотреть архитектуру с изолированными frontend/backend - причем, в рамках модных современных концепций, между ними не обязательно гонять sql, сейчас модно понакрутить поверх еще три слоя абстракций, особенно в вебне.
В принципе, я даже знаю целую одну программу, в которой это могло бы спасти безнадежное дело (zabbix, ага - но поздно)

Ответить | Правка | Наверх | Cообщить модератору

66. "Релиз СУБД SQLite 3.33"  +/
Сообщение от Онаним (?), 22-Авг-20, 13:25 
Орацл я имел счастье одному товарищу выковыривать с полумёртвой системы и полумёртвого диска.
Другому товарищу имел счастье выковыривать InnoDB в MySQL в такой же ситуации, и без первичного неймспейса.
Имел я этот оракл )))
Ответить | Правка | Наверх | Cообщить модератору

74. "Релиз СУБД SQLite 3.33"  +/
Сообщение от РедХет (?), 24-Авг-20, 19:18 
Что-то мне подсказывает, что максимальный ваш опыт это вытаскивание капустной кочерыги из горлышка мутного пузыря.
У Инно вектора отмеры в журнал не пишутся. О чём разрабы честно пишут. И это при определённых условиях может стать причиной краха при внезапной остановке. У Оракла -- пишутся. Оракл вообще крайне сложно угробить.
Ответить | Правка | Наверх | Cообщить модератору

76. "Релиз СУБД SQLite 3.33"  +/
Сообщение от Онаним (?), 24-Авг-20, 19:25 
Оракл - наше всё!
Ответить | Правка | Наверх | Cообщить модератору

80. "Релиз СУБД SQLite 3.33"  +/
Сообщение от РедХет (?), 25-Авг-20, 11:23 
Ну, в общем-то, да.
Ответить | Правка | Наверх | Cообщить модератору

77. "Релиз СУБД SQLite 3.33"  +/
Сообщение от Онаним (?), 24-Авг-20, 19:26 
А вообще почитали бы про redo и undo логи, что-ли.
Ответить | Правка | К родителю #74 | Наверх | Cообщить модератору

78. "Релиз СУБД SQLite 3.33"  +/
Сообщение от РедХет (?), 25-Авг-20, 11:19 
Какие ещё redo- и undo-"логи"? В Оракле в журнал повторного исполнения пишутся и вектора отмены, и вектора повторного исполнения. Нет там никаких редо и анду-логов. Есть сегменты отмены. Изменения в них формируются после того, как вектор отмены (но не сами данные отмены) попал в журнал повторного исполнения.
В Сиквеле -- не так. В Сиквеле в "журнал транзакций" (который никакой не журнал транзакций, а журнал изменений) пишутся именно данные отмены, а не вектора отмены.
И в Слоне иначе. Там "журнал транзакций" хранил только записи вектор отмены и полные копии страниц сразу после CHKP, а векторов отмены просто нет -- они там не нужны из-за особенностей реализации MVCC, где отмена хранится в виде замогиленных удалённых данных.
Ответить | Правка | Наверх | Cообщить модератору

81. "Релиз СУБД SQLite 3.33"  +/
Сообщение от РедХет (?), 25-Авг-20, 11:27 
Да, тут описался:"И в Слоне иначе. Там "журнал транзакций" хранил только записи вектор отмены". Слон хранит в журнале вектора (и данные тоже) повторного исполнения, вектора отмены не хранит.
Ответить | Правка | Наверх | Cообщить модератору

67. "Релиз СУБД SQLite 3.33"  +/
Сообщение от Онаним (?), 22-Авг-20, 13:26 
Потеря транзакции - терпимо. Вот отказы в исполнении соседних транзакций - так себе.
Ответить | Правка | К родителю #65 | Наверх | Cообщить модератору

73. "Релиз СУБД SQLite 3.33"  +/
Сообщение от РедХет (?), 24-Авг-20, 19:15 
А вы знаете как "лог" у Оракла устроен? Если вам это спать не даёт, то вряд ли знаете. У Оракл журнал повторного исполения непрошибаем вообще. В принципе. Вот у Слона пока ещё не убрали настройки, которые позволяют убить файлы данных даже при нормально работающем WAL-е. Но они не по умолчанию.
Ответить | Правка | К родителю #65 | Наверх | Cообщить модератору

82. "Релиз СУБД SQLite 3.33"  +/
Сообщение от РедХет (?), 25-Авг-20, 11:43 
Ой, можно подумать вы знаете как у "оракла устроен лог".
Ответить | Правка | К родителю #65 | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру