The OpenNET Project / Index page

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

Релиз СУБД SQLite 3.33

15.08.2020 11:27

Опубликован релиз SQLite 3.33.0, легковесной СУБД, оформленной в виде подключаемой библиотеки. Код SQLite распространяется как общественное достояние (public domain), т.е. может использоваться без ограничений и безвозмездно в любых целях. Финансовую поддержку разработчиков SQLite осуществляет специально созданный консорциум, в который входят такие компании, как Adobe, Oracle, Mozilla, Bentley и Bloomberg.

Основные изменения:

  • Реализовано выражение UPDATE FROM для обновления содержимого таблицы на основе выборки из другой таблицы. В выражении использован синтаксис, соответствующий PostgreSQL.
  • Максимальный размер БД увеличен до 281 TB.
  • В PRAGMA integrity_check обеспечена возможность выборочной проверки только определённой таблицы и связанных с ней индексов (ранее всегда проверялась вся БД).
  • Добавлено расширение decimal с функциями десятичной арифметики с произвольной точностью.
  • В расширение ieee754 внесены улучшения для поддержки чисел binary64.
  • В интерфейс командной строки (CLI) добавлены новые режимы форматирования вывода "box", "json", "markdown" и "table". В режиме вывода "column" обеспечено автоматическое раскрытие столбцов по содержимому самой длинной строки. В режиме вывода "quote" учтено значение разделителя, установленного командой ".separator".
  • В CLI встроены расширения decimal и ieee754.
  • Внесены улучшения в планировщик запросов. Повышена производительность запросов "SELECT min(x) FROM t WHERE y IN (?,?,?)" при наличии индекса t(x,y). Реализовано определения возможности использования плана запроса full-index-scan для запросов с выражением "INDEXED BY".
  • В режиме WAL (Write-Ahead Logging) в случае сбоя операции записи, ведущей к нарушению согласованности данных в файле shm, идущие следом транзакции теперь могут восстановить целостность файла shm при наличии активных транзакций на чтение, вместо вывода ошибки SQLITE_PROTOCOL.


  1. Главная ссылка к новости (https://www.sqlite.org/release...)
  2. OpenNews: Релиз СУБД SQLite 3.32. Проект DuckDB развивает вариант SQLite для аналитических запросов
  3. OpenNews: Fedora планирует перевести RPM с BerkeleyDB на SQLite
  4. OpenNews: Представлена новая техника эксплуатации уязвимостей в SQLite
  5. OpenNews: Уязвимость в SQLite, позволяющая удалённо атаковать Chrome через WebSQL
  6. OpenNews: Доступен Dqlite 1.0, распределённый вариант SQLite от компании Canonical
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/53552-sqlite
Ключевые слова: sqlite
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (84) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, Fracta1L (ok), 11:31, 15/08/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Как понять, в каких условиях/задачах не хватает сабжа и нужно переходить на тяжеловесов типа mysql и postgresql?
     
     
  • 2.2, Михрютка (ok), 11:32, 15/08/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Как понять, в каких условиях/задачах не хватает сабжа и нужно переходить на
    > тяжеловесов типа mysql и postgresql?

    когда расперделенные транзакции понадобятся

     
     
  • 3.38, trolleybus (?), 11:57, 16/08/2020 [^] [^^] [^^^] [ответить]  
  • +3 +/
    > расперделенные

    Опечатка по Фрейду?

     
     
  • 4.49, Аноним (49), 17:33, 17/08/2020 [^] [^^] [^^^] [ответить]  
  • +7 +/
    Кровь, кишки, расперделенные транзакции
     
  • 2.8, Аноним (8), 12:16, 15/08/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Склайт вроде как встроенная СУБД, если нужна клиент-серверность, когда разные приложухи стучат на один сервер БД, тогда уже её не хватит.
     
     
  • 3.11, Аноним (11), 13:20, 15/08/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Она по-моему плохо скалируется и работает в 1 поток (или что-то там такое), фактически можно иметь только 1 подключение к ней, иначе ты нарываешься на проблемы. Ну и ещё встроенных возможностей для серьёзного применения маловато, маловато. Я не помню подробностей, но когда рассматривали возможность мигрировать с mssql, она была одним из вариантов. Выбрали поcтгрес в итоге, всё норм, стало намного лучше.
     
     
  • 4.12, Здрасьте (?), 13:59, 15/08/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    c mssql на sqlite? ну вы затейники
     
     
  • 5.14, Аноним (11), 14:23, 15/08/2020 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Mssql тоже встраиваемая. Как и postgres.
     
     
  • 6.18, Аномномномнимус (?), 16:54, 15/08/2020 [^] [^^] [^^^] [ответить]  
  • +2 +/
    mssql ce с ограничением в 4Гб на базу и вечными поломками к счастью давно мертва. Про посгре - а давайте пруфы?
     
     
  • 7.19, Аноним (11), 16:58, 15/08/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Я и не утверждал, что это было вчера. А вот постгре вполне и сегодня. https://www.postgresql.org/docs/current/ecpg.html
     
     
  • 8.26, Аноним (26), 20:25, 15/08/2020 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Embedded SQL это не встраиваемая СУБД ... текст свёрнут, показать
     
     
  • 9.28, Аноним (11), 20:46, 15/08/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Ладно, я согласен, но ничто не мешает использовать её как встраиваемую ... текст свёрнут, показать
     
  • 4.31, Аноним (31), 21:59, 15/08/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Пользуйся LMDB. Не SQL, но зачем лишние прослойки на локалхосте. Кстати, какой-то чувак как раз эту LMDB влепил бэкендом в SQLite c офигенным приростом производительности в итоге. Я не в теме что там у SQLite сейчас внутри, но для простых баз смысла в SQL не вижу.
     
     
  • 5.32, мяя (?), 23:54, 15/08/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Можно поподробнее? Это речь про это https://github.com/LMDB/sqlightning ?
    Интересно как дела бы обстояли если бы там был более прокаченный вариант LMDB — MDBX.
     
     
  • 6.33, мяя (?), 23:58, 15/08/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Хотя вот ещё нашёл: https://github.com/LumoSQL/LumoSQL
     
     
  • 7.58, пох. (?), 17:06, 21/08/2020 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > Хотя вот ещё нашёл: https://github.com/LumoSQL/LumoSQL

    от это ты правильную весчь нашел - замах на мировую революцию, но начали (и, в основном, закончили) написанием CoC (что, конечно, очень важная и нужная задача, с учетом того что у автора оригинала там скорее anti-coc)

    этот проект определенно имеет большое будущее.

     
  • 6.35, мяя (?), 00:09, 16/08/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Ещё и такое: https://github.com/biokoda/actordb
     
  • 6.36, Аноним (31), 03:00, 16/08/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Да, вроде оно.
    ХЗ как бы там какие дела не обстояли, я юзаю LMDB и мне хватает и хорошо.
     
  • 6.50, Аноним (50), 10:01, 18/08/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Лео, залогиньтесь.
     
     
  • 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. Если это не одна и та же таблица и не одна и та же индексная сущность.
      
     
     
  • 6.43, Аноним (11), 18:55, 16/08/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Главное не пытаться что-нибудь записать в неё.
     
     
  • 7.44, economist (?), 21:24, 16/08/2020 [^] [^^] [^^^] [ответить]  
  • +/
    При записи будет таймаут, то есть ничего. Просто пауза для пишущего процесса.
     
  • 6.69, РедХет (?), 19:02, 24/08/2020 [^] [^^] [^^^] [ответить]  
  • +/
    А как СHKP отрабатываются? Есть ли они вообще?
     
  • 6.86, НямНямка (?), 17:26, 28/08/2020 [^] [^^] [^^^] [ответить]  
  • +/
    А вы точно себе представляете, что такое WAL?
     
  • 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 [^] [^^] [^^^] [ответить]  
  • +/
    Что за чушь!
    Сначала хотел ведь написать подробно, но потом посмотрел на адресную строку и...
     
  • 4.46, economist (?), 22:10, 16/08/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Слушайте сюда, не надо домыслов про SQLite, пожалуйста Это святая программа, ве... большой текст свёрнут, показать
     
     
  • 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 +/
    Когда перестанете накидывать и начнёте работать так сразу поймёте.
     
  • 2.22, proninyaroslav (ok), 17:34, 15/08/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Хватает как БД для приложений. Как правило широко применяется в них.
     
     
  • 3.27, Fracta1L (ok), 20:27, 15/08/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    То есть, если "одна БД - одна программа", то sqlite хватит более чем?
     
     
  • 4.30, proninyaroslav (ok), 21:42, 15/08/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Да. Для нужд хранения данных самой программы. Сложных БД там и не надо.
     
  • 4.71, РедХет (?), 19:07, 24/08/2020 [^] [^^] [^^^] [ответить]  
  • +/
    От характера "программы" зависит. Лайт не MVCC и не умеют делать настоящий Serializable или RR. Поэтому, если искажения прецеденции недопустимы или нужно честное RR, то Лайт не подойдёт.
     
  • 4.79, РедХет (?), 11:22, 25/08/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Лайт нужен тогда, когда вы хотите просто получить возможность работать с данными через SQL. Потому что это очень удобно.
     
  • 2.24, Аноним (24), 20:03, 15/08/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    лайт - подходит только для монопольной работы.
     
  • 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 не принимает патчи. У них политика - "весь копирайт на весь код должен быть чисто нашим. Нужна фича в апстриме - вы нам о ней сообщаете, мы говорим, готовы ли мы держать такую фичу в апстриме, вы нам платите, мы её делаем."
     

  • 1.4, Иваня (?), 11:39, 15/08/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    Подскажите, где применяют binary64 числа, в каких кейсах?🧐
     
     
  • 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 и использовали нативные типы.

     
     
  • 4.15, Аноним (15), 14:26, 15/08/2020 [^] [^^] [^^^] [ответить]  
  • +/
    А это не целоцисленный тип вроде (u)int64_t?
     
     
  • 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.

     
  • 2.13, Здрасьте (?), 14:01, 15/08/2020 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Это обычный тип double
     
     
  • 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 УГ, будьте осторожны.
     
  • 2.47, economist (?), 22:11, 16/08/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Как раз все понятно.  
     
     
  • 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 [^] [^^] [^^^] [ответить]  
  • +/
    Орацл я имел счастье одному товарищу выковыривать с полумёртвой системы и полумё... текст свёрнут, показать
     
     
  • 10.74, РедХет (?), 19:18, 24/08/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Что-то мне подсказывает, что максимальный ваш опыт это вытаскивание капустной ко... текст свёрнут, показать
     
     
  • 11.76, Онаним (?), 19:25, 24/08/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Оракл - наше всё ... текст свёрнут, показать
     
     
  • 12.80, РедХет (?), 11:23, 25/08/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Ну, в общем-то, да ... текст свёрнут, показать
     
  • 11.77, Онаним (?), 19:26, 24/08/2020 [^] [^^] [^^^] [ответить]  
  • +/
    А вообще почитали бы про redo и undo логи, что-ли ... текст свёрнут, показать
     
     
  • 12.78, РедХет (?), 11:19, 25/08/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Какие ещё redo- и undo- логи В Оракле в журнал повторного исполнения пишутся и... текст свёрнут, показать
     
     
  • 13.81, РедХет (?), 11:27, 25/08/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Да, тут описался И в Слоне иначе Там журнал транзакций хранил только записи ... текст свёрнут, показать
     
  • 9.67, Онаним (?), 13:26, 22/08/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Потеря транзакции - терпимо Вот отказы в исполнении соседних транзакций - так с... текст свёрнут, показать
     
  • 9.73, РедХет (?), 19:15, 24/08/2020 [^] [^^] [^^^] [ответить]  
  • +/
    А вы знаете как лог у Оракла устроен Если вам это спать не даёт, то вряд ли з... текст свёрнут, показать
     
  • 9.82, РедХет (?), 11:43, 25/08/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Ой, можно подумать вы знаете как у оракла устроен лог ... текст свёрнут, показать
     

  • 1.83, РедХет (?), 11:44, 25/08/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    А как лайт исходно работал без поддержки 754-того? Он же, вроде как, встройка для военных исходно. А там 754-тый используется.
     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



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

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