The OpenNET Project / Index page

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

Выпуск СУБД SQLite 3.35

18.03.2021 09:24

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

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

  • Добавлены встроенные математические функции (log2(), cos(), tg(), exp(), ln(), pow() и т.п.), которые можно использовать в SQL. Для включения встроенных функций требуется сборка с опцией "-DSQLITE_ENABLE_MATH_FUNCTIONS".
  • Реализована поддержка выражения "ALTER TABLE DROP COLUMN" для удаления столбцов из таблицы и очистки ранее хранившихся в данном столбце данных.
  • Расширена реализация операции UPSERT (добавить-или-модифицировать), позволяющей через выражения вида "INSERT ... ON CONFLICT DO NOTHING/UPDATE" игнорировать ошибку или выполнить обновление вместо вставки в случае невозможности добавления данных через "INSERT" (например, если запись уже существует, вместо INSERT можно выполнить UPDATE). В новой версии разрешено указание нескольких блоков "ON CONFLICT", которые будут обработаны в порядке следования. В последнем блоке "ON CONFLICT" разрешено не указывать параметр определения конфликта для использования "DO UPDATE".
  • В операциях DELETE, INSERT и UPDATE реализована поддержка выражения RETURNING, при помощи которого можно вывести содержимое удалённой, вставленной или изменённой записи. Например, выражение "insert into ... returning id" вернёт идентификатор добавленной строки, а "update ... set price = price * 1.10 returning price" вернёт изменённое значение price.
  • Для обобщённых табличных выражений (Common Table Expression, CTE), позволяющих использовать временные именованные результирующие наборы, задаваемые при помощи оператора WITH, разрешён выбор режимов "MATERIALIZED" и "NOT MATERIALIZED". "MATERIALIZED" подразумевает кэширование заданного в представлении запроса в отдельной физической таблице с последующей выборкой данных из этой таблицы, а при "NOT MATERIALIZED" при каждом обращении к представлению будут осуществляться повторные запросы. Изначально в SQLite по умолчанию использовался режим "NOT MATERIALIZED", но теперь для CTE, используемых более одного раза, изменён на "MATERIALIZED".
  • Сокращено потребление памяти при выполнении операции VACUUM для БД, включающих очень большие значения с типами TEXT или BLOB.
  • Проведена работа по увеличению производительности оптимизатора и планировщика запросов:
    • Добавлены оптимизации при использовании функций min и max с выражением "IN".
    • Ускорено выполнение оператора EXISTS.
    • Реализовано развёртывание подзапросов из выражений UNION ALL, используемых в составе JOIN.
    • Задействован индекс для выражений IS NOT NULL.
    • Обеспечено преобразование "x IS NULL" и "x IS NOT NULL" в FALSE или TRUE для столбцов, имеющих признак "NOT NULL".
    • Пропущена проверка внешних ключей в UPDATE, если операция не меняет столбцов, связанных с внешним ключом.
    • Разрешено перемещение частей блока WHERE в подзапросы, содержащие оконные функции, если эти части ограничены работой с константами и копиями выражений из блоков "PARTITION BY", используемых в оконных функциях.
  • Изменения в интерфейсе командной строки:
    • Добавлена команда ".filectrl data_version".
    • В командах ".once" и ".output" добавлена поддержка передачи вывода в обработчик, вызываемый с использованием неименованных каналов ("|").
    • В команду ".stats" добавлены аргументы "stmt" и "vmstep" для вывода статистики по выражениям и счётчиков виртуальной машины.


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


Обсуждение (132) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, leibniz (ok), 09:45, 18/03/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Отличная СУБД! Использую на постоянной основе в своих проектах.
     
     
  • 2.2, Аноним (2), 10:12, 18/03/2021 [^] [^^] [^^^] [ответить]  
  • –48 +/
    Это все равно что постоянно в своих проектах применять электрон.
     
     
  • 3.3, Леголас (ok), 10:14, 18/03/2021 [^] [^^] [^^^] [ответить]  
  • +18 +/
    электрон со словом Lite разве хоть как-то коррелируется?
     
  • 3.4, Аноним (-), 10:21, 18/03/2021 [^] [^^] [^^^] [ответить]  
  • +23 +/
    держу пари, у тебя никаких проектов отродясь не было
     
     
  • 4.41, Аноним (-), 13:34, 18/03/2021 [^] [^^] [^^^] [ответить]  
  • –3 +/
    У тебя они можно подумать были
     
     
  • 5.42, Аноним (42), 13:36, 18/03/2021 [^] [^^] [^^^] [ответить]  
  • +2 +/
    у меня были
     
     
  • 6.47, Аноним (47), 14:05, 18/03/2021 [^] [^^] [^^^] [ответить]  
  • +7 +/
    У меня тоже были на электроне, но мне стыдно об этом говорить так открыто. Бесстыдники вы.
     
  • 6.115, Аноним (115), 22:21, 18/03/2021 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Пруф, или не было?
     
     
  • 7.141, VladSh (?), 16:13, 19/03/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    А пруф на то, что не было?)
     
  • 3.11, Lex (??), 11:01, 18/03/2021 [^] [^^] [^^^] [ответить]  
  • +/
    То-то разрабы приложений практически на всех мобильных ОСях его применяют прямо или косвенно
     
     
  • 4.14, Аноним (14), 11:07, 18/03/2021 [^] [^^] [^^^] [ответить]  
  • –4 +/
    То-то разрабы практически для всех десктопных приложений применяют электрон.
     
     
  • 5.23, Lex (??), 11:48, 18/03/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Окей анон, а что используешь ты в качестве хранилища небольшого числа параметров и настроек уровня [мобильного] приложения ?
     
     
  • 6.56, fractal cucumber (?), 14:38, 18/03/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Для андроида есть https://github.com/nhachicha/SnappyDB
    На порядок быстрее и сериализация из коробки, если реляционщина не нужна.
     
     
  • 7.70, Аноним (70), 16:06, 18/03/2021 [^] [^^] [^^^] [ответить]  
  • +5 +/
    Которая с последним коммитом в 2019 году и заархивирована на GitHub? Которая и не SQL база данных, а key-value - т.е. принципиально другая база данных. Как это вообще можно сравнивать и рекомендовать на замену?
     
     
  • 8.75, fractal cucumber (?), 16:24, 18/03/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Это форк LevelDB гугловской, которая вполне себе свежа и акутальна Ещё как можн... текст свёрнут, показать
     
     
  • 9.83, Аноним (70), 17:00, 18/03/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Если решаемая задача гораздо уже полноценной SQL и это обычный кэш - да, можно ... текст свёрнут, показать
     
  • 8.77, пох. (?), 16:29, 18/03/2021 [^] [^^] [^^^] [ответить]  
  • +/
    для параметров и настроек-то чем тебе key-value не угодила Мы используем для эт... текст свёрнут, показать
     
     
  • 9.82, Аноним (70), 16:58, 18/03/2021 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Странные тут анонимы Мы говорим про полноценную SQL базу данных, со всеми фичам... текст свёрнут, показать
     
     
  • 10.90, пох. (?), 17:32, 18/03/2021 [^] [^^] [^^^] [ответить]  
  • +/
    мы тут говорили про вполне конкретную узкую задачу - настройки программы хранит... большой текст свёрнут, показать
     
  • 10.100, Урри (ok), 18:03, 18/03/2021 [^] [^^] [^^^] [ответить]  
  • +2 +/
    За mmkv спасибо, не знал Иногда в срачах таки можно почерпнуть что-то полезное ... текст свёрнут, показать
     
  • 9.119, Sem (??), 22:37, 18/03/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Я не понял, это bdb1 не рассыпался Еще как сыпался с cyrus у нас Так, что толь... текст свёрнут, показать
     
  • 7.92, Lex (??), 17:38, 18/03/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Для андроида есть https://github.com/nhachicha/SnappyDB

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

     
  • 7.114, proninyaroslav (ok), 22:00, 18/03/2021 [^] [^^] [^^^] [ответить]  
  • +/
    > Для андроида есть https://github.com/nhachicha/SnappyDB

    SharedPreferences уже не в моде?

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

    Только вот обычно она применяется не для хранения ключа и значения...

     
  • 4.15, Аноним (14), 11:07, 18/03/2021 [^] [^^] [^^^] [ответить]  
  • –9 +/
    + миллионы мух которые садятся на скуль не могут ошибаться.
     
     
  • 5.21, Урри (ok), 11:37, 18/03/2021 [^] [^^] [^^^] [ответить]  
  • +4 +/
    Этот тот редкий случай, когда миллионы мух случайно не ошиблись.
     
     
  • 6.43, Аноним (-), 13:36, 18/03/2021 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Они и не садяться. Пользователи то на самом деле даже не знают что они пользователи скулита.
     
  • 6.57, fractal cucumber (?), 15:13, 18/03/2021 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Нуну, а потом приходится СоСи внедрять, чтобы мух, хранящих картиники в base64 стрингах в бд резинкой от трусов не били🙄
     
     
  • 7.67, Урри (ok), 15:48, 18/03/2021 [^] [^^] [^^^] [ответить]  
  • +2 +/
    А ты не храни в base64, ты храни как BLOBы.
     
     
  • 8.76, fractal cucumber (?), 16:27, 18/03/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Да я ж не 129712 , мне и файлики норм ... текст свёрнут, показать
     
  • 5.25, Lex (??), 11:49, 18/03/2021 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > + миллионы мух которые садятся на скуль не могут ошибаться.

    Мухи садятся на информацию ?

     

  • 1.5, InuYasha (??), 10:28, 18/03/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Тот самый, из Audacity :)
     
  • 1.6, Аноним (-), 10:31, 18/03/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    За прошедшие годы в SQLite притащили кучу ненужного говна, а встроенной поддержки сравнения без учета регистра как не было, так и нет.
     
     
  • 2.7, Аноним (7), 10:44, 18/03/2021 [^] [^^] [^^^] [ответить]  
  • +4 +/
    Притащили меганужные вещи, такие как UPDATE FROM (еще летом), и вот сейчас RETURNING.
    Я уже бегу свои либы апдейтить и сам скулайт пересобирать (в дистрах он старый престарый, везде с собой приходится бинари таскать).
     
     
  • 3.27, Бывалый (?), 11:59, 18/03/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Используйте их amalgamated вариант – весь sqlite одним си файлом, результат обработки препроцессором. Удобно и портабельно, не надо никаких бинарей
     
     
  • 4.28, Бывалый (?), 12:01, 18/03/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Хотя, вы, наверное говорили о бинариках CLI-утилиты
     
     
  • 5.69, Урри (ok), 15:50, 18/03/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Про сошечки и дллки. Не люблю статику, понимаете ли.
     
  • 4.44, Аноним (-), 13:38, 18/03/2021 [^] [^^] [^^^] [ответить]  
  • –1 +/
    А кстати, как эту амальгату порезать ? Мне бы только crud оставить, не хочу десять мегабайт сорца таскать за собой.
     
     
  • 5.68, Урри (ok), 15:49, 18/03/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    На хомяке в разделе downloads есть "Snapshot of the complete (raw) source tree for SQLite version 3.35.2. See How To Compile SQLite for usage details."
     
     
  • 6.113, Аноним (-), 21:20, 18/03/2021 [^] [^^] [^^^] [ответить]  
  • –2 +/
    И что ? вместо 10мб будет 5 файлов по 2Mb, это мягко говоря не то что мне надо.
     
     
  • 7.137, Урри (ok), 11:45, 19/03/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Ну тогда придется не полениться и все сделать своими собственными ручками.
     
  • 4.48, Урри (ok), 14:09, 18/03/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Спасибо, я в курсе.
     
  • 2.8, Аноним (8), 10:44, 18/03/2021 [^] [^^] [^^^] [ответить]  
  • +/
    COLLATE NOCASE ? Ну нет, так нет.
    Куда печальнее когда нужно влинковать всякое ICU для нормального поиска с UTF-8, особенно под оффтопик... вот там немножко боль
     
     
  • 3.10, Ivan_83 (ok), 10:49, 18/03/2021 [^] [^^] [^^^] [ответить]  
  • –3 +/
    Переходите на фряху, там влинковывание заключается в том, чтобы запустить make config и поставить галочку в нужном месте, а потом просто пересобрать.
     
  • 3.12, Аноним (12), 11:04, 18/03/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Оффтопик это вообще боль, не только в SQLite.
     
  • 3.125, Michael Shigorin (ok), 00:11, 19/03/2021 [^] [^^] [^^^] [ответить]  
  • +/
    > Ну нет, так нет.

    Берегитесь запятовой чумы!

    http://gramota.ru/slovari/dic/?word=%D0%BD%D0%B5%D1&

     

  • 1.9, Аноним (8), 10:45, 18/03/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    UPSERT и RETURNING огонь. А это часть какого-то стандарта SQL и ещё какими-то стильными, модными, молодёжными СУБД применяется или специфично для SQLite?
     
     
  • 2.16, Аноним (14), 11:11, 18/03/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Два миллиона лет уже постргресе. Значит и этой недобазе надо скопировать, чтобы быть «крутой». А раз модно всякие клоуны разработчики вместо ини файлов начинают настройки в скуль складывать потому что они тоже крутые))))
     
     
  • 3.18, Аноним (18), 11:20, 18/03/2021 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Да уж лучше в скуль, чем в  json.
     
     
  • 4.19, Аноним (19), 11:30, 18/03/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Ну все тогда будем накручивать функционал скуля пока он не будет жрать ресурсов как целая ОС.
     
     
  • 5.22, Урри (ok), 11:40, 18/03/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Истины ради скулайт разрастается существенно медленнее чем мощность процессоров и среднее количество установленной оперативной памяти.
     
     
  • 6.45, Аноним (-), 13:41, 18/03/2021 [^] [^^] [^^^] [ответить]  
  • –1 +/
    То что он разрастается уже жирный минус
     
     
  • 7.59, Аноним (8), 15:24, 18/03/2021 [^] [^^] [^^^] [ответить]  
  • +3 +/
    То ли дело hello world - не способен расти в принципе, как и ваш интеллект
     
     
  • 8.61, Аноним (47), 15:32, 18/03/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Вообще-то, в GNU hello можно ещё много чего напихать, почему это он не способен ... текст свёрнут, показать
     
  • 7.62, Урри (ok), 15:34, 18/03/2021 [^] [^^] [^^^] [ответить]  
  • +4 +/
    Нет. В нем не было достаточно очень нужных вещей.

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

    Еще сильно не хватало UPDATE FROM, где можно было апдейтить поля одной таблицы выборкой из других таблиц. Это, к счастью, прошлым летом добавили (хотя дистры не торопятся апдейтить sqlite, и он у всех годовой(!) давности).

    Так что это жирный плюс.

     
     
  • 8.120, Sem (??), 22:40, 18/03/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Поддержу За RETURNING это прям респект ... текст свёрнут, показать
     
  • 4.26, Леголас (ok), 11:53, 18/03/2021 [^] [^^] [^^^] [ответить]  
  • +/
    > Да уж лучше в скуль, чем в  json

    нафиг это, только INI, только KISS

     
     
  • 5.30, Урри (ok), 12:27, 18/03/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    INI - одноуровневый отстой.
     
     
  • 6.51, Галустян (?), 14:20, 18/03/2021 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Если вы делаете многоуровневые настройки, значит чтото вы делаете не так.
     
     
  • 7.63, Урри (ok), 15:38, 18/03/2021 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Ну и как вы в одноуровневом INI сохраните такие настройки:
    "button1": {
       background: {
          color: [12, 22, 33],
          image: none,
       },
       foreground: {
          color: [12, 22, 33],
          image: none,
          text-align: left
       }
    }

    вот так ?
    [button1]
    background.color=12,22,33
    background.image=none
    foreground.color=11,22,33
    foreground.image=none
    foreground.text-align=left


    и будете копипастить десериализатор для всех .color и .image полей?

     
     
  • 8.105, Аноним (47), 18:20, 18/03/2021 [^] [^^] [^^^] [ответить]  
  • +2 +/
    А ещё иногда бывают нужны несколько уровней вложенности Допустим, я тут обломил... текст свёрнут, показать
     
  • 8.135, User (??), 09:20, 19/03/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Как бы вам сказать Конфигурация пишется и читается существенно чаще, чем код ко... текст свёрнут, показать
     
     
  • 9.138, Урри (ok), 11:50, 19/03/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Ну то есть копипастить, кто бы сомневался Я угадаю говнокодера по первым шести... текст свёрнут, показать
     
     
  • 10.142, User (??), 19:41, 19/03/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Зачем угадывать, когда можно в зеркало посмотреть А я, если что - вообще не код... текст свёрнут, показать
     
  • 8.144, Аноним (144), 13:16, 20/03/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Так же как и в properties-файлах или в reg файлах button1 background color 12,... текст свёрнут, показать
     
  • 4.33, Аноним (33), 12:49, 18/03/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Рокстар не согласился и проиграл
     
  • 2.118, Аноним (115), 22:34, 18/03/2021 [^] [^^] [^^^] [ответить]  
  • –1 +/
    >This means that if a statement has a RETURNING clause that generates a large amount of output, either many rows or large string or BLOB values, then the statement might use a lot of temporary memory to hold those values while it is running.

    Бесполезно.

     
     
  • 3.121, Sem (??), 22:43, 18/03/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Бесполезно запихивать в RETURNING всякий хлам. Для этого SELECT.
     

  • 1.17, Catwoolfii (ok), 11:18, 18/03/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    А почему в сабже динамическая типизация? Разве это нормально?
     
     
  • 2.20, Аноним (19), 11:30, 18/03/2021 [^] [^^] [^^^] [ответить]  
  • –6 +/
    Т.е. название SQLite тебе ни о чем не говорит. В приличном обществе это ругательство.
     
  • 2.37, economist (?), 13:07, 18/03/2021 [^] [^^] [^^^] [ответить]  
  • –3 +/
    Это просто чудесно! А еще все хранится как текст. Если тип указана NUMERIC и в него положили Null 564 или строку - всё равно запишется.  
     
     
  • 3.64, Урри (ok), 15:39, 18/03/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Уже лет 5 как нет.
     
     
  • 4.84, Catwoolfii (ok), 17:18, 18/03/2021 [^] [^^] [^^^] [ответить]  
  • +/
    С версией 2-х годичной давности это работает: https://habr.com/ru/post/547448/#comment_22817694
     
     
  • 5.101, Урри (ok), 18:06, 18/03/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Все не хранится как текст, числа хранятся как числа, блобы как бинарные данные, а текст как текст.
    То, что вы можете положить в объявленное числом поле текст, никак на способ хранения данных не влияет.

    Детали тут: https://sqlite.org/fileformat.html, раздел 2.1. Record Format.

     
     
  • 6.116, Аноним (115), 22:27, 18/03/2021 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Это не отменяет того, что формат абсолютно дебильный. Зачем для каждого поля в каждой строке хранить тип, если можно его гвоздями прибить к типу в DDL и не хранить? Оверхед же меньше будет, флеха вообще спасибо скажет.
     
     
  • 7.124, Урри (ok), 23:23, 18/03/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Формат не лучше и не хуже других. А именно такой по чисто историческим причинам.

    Флехе же на него фиолетово, оверхед можно не учитывать - основная нагрузка идет на чтение и обработку индексов. Зато так БД более гибкая и дружественная к юзеру (и позволяет прощать очень многие ошибки, а это именно то, что надо среднестатистическому программеру). И именно из-за этой простоты и дружественности конкурентов у sqlite (к сожалению) нет.

    Не нравится? Идите к mysql, там гвоздями прибито, можно масштабировать и делать еще огромную кучу прекрасных и мощных вещей.

     

  • 1.29, Аноним (-), 12:10, 18/03/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • +6 +/
    > Реализована поддержка выражения "ALTER TABLE DROP COLUMN" для удаления столбцов из таблицы и очистки ранее хранившихся в данном столбце данных.

    Уху!!! И ста лет не прошло !

     
  • 1.32, Док (?), 12:43, 18/03/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • –6 +/
    Использовал в проекте. Редкостное олдскульное гавнище с кучей никогданенужного.
     
     
  • 2.38, Аноним (-), 13:26, 18/03/2021 [^] [^^] [^^^] [ответить]  
  • +3 +/
    давай ссылку на проект, трепло
     
     
  • 3.136, Док (?), 09:58, 19/03/2021 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Проект в приват репе на гитхабе. Я-то использовал это дерьмо а ты? Любой движок бд, который умеет sql, лучше этого старперского кривого изделия. Ответь как там настройка нечувствительности к регистру работает)
     
     
  • 4.146, Аноним (146), 04:14, 23/03/2021 [^] [^^] [^^^] [ответить]  
  • +/
    В SQL регистрозависимое сравнение, вам в ANSI жалобу подавать надо ну или в ISO.
     

  • 1.34, Аноним (34), 12:50, 18/03/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Кто-нибудь постарше 23 лет и с реальным опытом, подскажите уважаемые. Есть ли альтернативы? Нечто даже на расте помниться пилили недавно.
    Просто из интереса.
     
     
  • 2.35, economist (?), 13:06, 18/03/2021 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Быстрее и надежнее нет ничего. За 8 лет (парк 250 АРМ) - базы крашились лишь пару раз , и то вместе с SSD/HDD.

    Просто почитать: https://habr.com/ru/post/547448/

     
  • 2.40, Аноним (-), 13:32, 18/03/2021 [^] [^^] [^^^] [ответить]  
  • +/
    На жабе апачевские дебри очень неплохи, а так чтоб скуль - без альтернатив (в том плане что не возьме оно так или иначе хуже склита).
     
     
  • 3.46, Михрютка (ok), 13:54, 18/03/2021 [^] [^^] [^^^] [ответить]  
  • +2 +/
    >>>дебри очень неплохи

    и очень неторопливы.

    если только со времен ibm что-то существенно изменилось.

     
  • 3.49, Аноним (-), 14:12, 18/03/2021 [^] [^^] [^^^] [ответить]  
  • –1 +/
    И если они не сделают удобный вариант для обрезания сорцов с нинужным функционалом то со следующими +10Мб - все что угодно будет лучше скулита.
     
  • 2.50, anonymous (??), 14:18, 18/03/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Исходя из каких задач, какое окружение?
     
     
  • 3.60, фыв (??), 15:32, 18/03/2021 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Честно говоря просто из интереса, но всё чаще это мобильные и пк игрушки. Ничего сверхсерьёзного.
     
     
  • 4.65, Урри (ok), 15:40, 18/03/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Зачем SQL БД игрушкам?
     
     
  • 5.72, жшо (?), 16:18, 18/03/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Честное слово не задавался таким ворпосом - но если нырнуть в более менее сложные проекты, оказывается текстовика невообразимо мало.
     
  • 2.66, data man (ok), 15:45, 18/03/2021 [^] [^^] [^^^] [ответить]  
  • –1 +/
    FirebirdSQL, например.
    Использовал его со времён InterBase, тогда ещё от Borland.
    Написан на C++, может быть embedded.
    Возможностей гораздо больше, чем у SQLite, поэтому и тяжелее.
    А непопулярен он, возможно, из-за русских фамилий основных разработчиков.
     
     
  • 3.73, лдо (?), 16:20, 18/03/2021 [^] [^^] [^^^] [ответить]  
  • +/
    А можно ссылку или проще даже тезисно в каких моментах тяжелее: ram, скорость записи/чтения или суммарно?
     
     
  • 4.74, лдо (?), 16:21, 18/03/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Так-то возможностей скулайта за глаза. Но предложение тут может породить спрос )
     
  • 4.80, Урри (ok), 16:41, 18/03/2021 [^] [^^] [^^^] [ответить]  
  • +/
    API у него зело сложный. Сразу видно, что разработчики не искали легких путей.

    В сравнении с ним скулайл как руби в сравнении с плюсами. Пока те плюсы выучишь, пока разберешься... А тут открыл бд, выполнил запрос, получил результат, закрыл бд.

     
  • 4.85, data man (ok), 17:19, 18/03/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    API сложнее, используются многие сторонние библиотеки (re2 от Google, libtommath, libtomcrypt, ICU, ...).
    SQLite тем и прекрасен (в том числе), что нужно всего два файла.
     
     
  • 5.139, economist (?), 12:56, 19/03/2021 [^] [^^] [^^^] [ответить]  
  • +/
    А в случае с Python (18% бекэнда на нем) - требуется 0 файлов, всё уже есть в "батарейках".
     
  • 3.81, Урри (ok), 16:43, 18/03/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Русских фамилий? Еще один ударенный мифической русофобией на форуме?

    Громоздкий он, сложный, собирать и подключать тяжело. А скулайт взял и опа, все готово.

     
     
  • 4.93, Аноним (93), 17:39, 18/03/2021 [^] [^^] [^^^] [ответить]  
  • –1 +/
    русские фамилии у разрабов говорят о качестве софта то же, что китайские или индийские
     
     
  • 5.102, Урри (ok), 18:08, 18/03/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Нет.
     
  • 5.106, пох. (?), 18:22, 18/03/2021 [^] [^^] [^^^] [ответить]  
  • –3 +/
    Ну я понимаю, за державу обидно, но индийские - это ZoL posix layer, gluster (и, кажется, изрядная часть уже и ceph), а эти русские что сделали для хипхопа? Один nginx. (Ну и уже всеми забытый ank@ )

     
     
  • 6.126, Michael Shigorin (ok), 00:14, 19/03/2021 [^] [^^] [^^^] [ответить]  
  • +/
    strace, например.
     
  • 6.140, edo (ok), 14:44, 19/03/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    sphinxsearch (и его форк manticore).
    7zip, который породил xz.
    vitastor, пока в зачаточном состоянии, но вполне может вылиться во что-то серьёзное.

    Это то, что пришло в голову буквально за минуту, список, разумеется, куда больше.
    Плюс в любом крупном opensource проекте найдутся русские коммитеры.

     
     
  • 7.145, Аноним (144), 13:22, 20/03/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    фар, винрар, дабл командир
     
  • 3.91, Аноним (144), 17:37, 18/03/2021 [^] [^^] [^^^] [ответить]  
  • –4 +/
    вообще да, русские фамилии сегодня уже настораживают. Иногда приходится избегать, сам понимаешь, инфильтрация ФСБ в российское ИТ зашкаливает все мыслимые и немыслимые пределы.

    Но не думаю, что Firebird плох, скорее он хорош. Просто не совсем понятна ниша: для легковесного есть SQLite (еще один был, такой ще как он, запамятовал). А для большего - есть Postgres, MySQL... Firebird нечто среднее, его тяжело пропихнуть в проект именно поэтому. Как ты объяснишь менеджеру, почему он, а не PG, например? Или он, а не Sqlite ;?

     
     
  • 4.103, Урри (ok), 18:09, 18/03/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Я все же не понимаю. Огромное количество русских фамилий свалило в кремниевую долину. Огромное количество русских фамилий аутсорсят на английские. Это все прекрасные профессионалы, пишущие отличный софт.

    При чем тут фсб? Это же не блобы, куда переименованные кгб будут засовывать все мыслимые и немыслимые бекдоры. Это опенсорс, который читают все, кому не лень.

     
     
  • 5.127, Michael Shigorin (ok), 00:15, 19/03/2021 Скрыто ботом-модератором     [к модератору]
  • +/
     
  • 2.97, Аноним (144), 17:45, 18/03/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Загуглил за тебя, братиш

    https://objectbox.io/sqlite-alternatives/
    https://sourceforge.net/software/product/SQLite/alternatives

     
     
  • 3.98, Аноним (98), 17:50, 18/03/2021 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Ты это сейчас серьезно ? Больше так не делай братиш.
     
  • 3.99, Михрютка (ok), 17:57, 18/03/2021 [^] [^^] [^^^] [ответить]  
  • +5 +/
    зашел по ссылке

    >>>SolarWinds Database Performance Analyzer
    >>>MariaDB
    >>>SQL Admin Toolset
    >>>SAP HANA

    отличные альтернативы

    тут за некоторых анонимов gpt-3 пишет, чтоль?

     
  • 2.117, Аноним (115), 22:29, 18/03/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    lmdb и metakit4. Только это не совсем альтернативы, всё очень зависит от задач.
     
     
  • 3.128, Аноним (-), 01:21, 19/03/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > lmdb
    > The entire database is exposed in a memory map, and all data fetches return data directly from the mapped memory, so no malloc's or memcpy's occur during data fetches.

    Ну это однозначно сильно специфичная штуковина. А второе это что такое ?

     
     
  • 4.143, Аноним (115), 13:15, 20/03/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Встраиваемая документо-ориентированная база со схемой, заносимой в заголовок. Никакого жсона, плоские структуры, как если бы сырые си-структуры, только динамически. Очень старая вещь родом из 90х. Рабочих биндингов к python 3 нет. Есть кое-как портанутые к python 3 из python 2, но не очень хорошо работают. По-хорошему их нужно вообще переписать на 'ctypes', ибо cextы уже достали в край, ибо их при каждом обновлении пистона перекомпилять надо.
     
  • 2.130, фыв (??), 02:08, 19/03/2021 [^] [^^] [^^^] [ответить]  
  • –1 +/
    В общем, как принято на реддите, огромное спасибо всем отписавшимся! )
    Понятно стало вдруг, что как сидели на скулайте, так и не стоит рыпаться. Как отписал первый человек - вот оно есть и пока не придумали лучше.
     
     
  • 3.131, фыв (??), 02:09, 19/03/2021 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Т.к. лучше - это долгие годы пилинга и багов скулайта, дабы придти к тому же по сути.
     
  • 3.132, Аноним (70), 02:47, 19/03/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Самая передовая база данных, насколько я понимаю, это https://github.com/gluesql/gluesql на движке https://github.com/spacejam/sled.
    Но она только разрабатывается, в зачаточном состоянии.

    Если не загнётся, то в лучшем случае 3-5 лет ей нужно, чтобы настояться.

    Есть ещё крайне перспективная (по рекламным заявлениям) это objectbox - https://docs.objectbox.io.Она может и сейчас подойти.

    Но вот прям production-ready, с гарантией масштабирования по функционалу - только SQLite.

     

  • 1.36, DEF (?), 13:07, 18/03/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • –2 +/
    >разрешён выбор режимов "MATERIALIZED" и "NOT MATERIALIZED".

    Из нормального декларативного языка сделали императивную чепухню.

     
  • 1.52, Аноним (-), 14:26, 18/03/2021 Скрыто ботом-модератором [﹢﹢﹢] [ · · · ]     [к модератору]
  • –5 +/
     

  • 1.54, КО (?), 14:29, 18/03/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Обеспечено преобразование "x IS NULL" и "x IS NOT NULL" в FALSE или TRUE для столбцов, имеющих признак "NOT NULL".
    Это ктож так говнокодит
     
     
  • 2.58, Аноним (58), 15:16, 18/03/2021 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > Это ктож так говнокодит

    Создатели скуля, утяжеляют код лишними ненужными фичами.

     
  • 2.89, Аноним (144), 17:32, 18/03/2021 [^] [^^] [^^^] [ответить]  
  • +/
    а что не так?
     
     
  • 3.104, Урри (ok), 18:12, 18/03/2021 [^] [^^] [^^^] [ответить]  
  • +2 +/
    NULL - особая (причем, зачастую, разная) сущность в SQL, о чем в доке сикулайта есть даже отдельная страница https://sqlite.org/nulls.html - зайдите гляньте, там расписано что не так.
     
     
  • 4.134, Q2W (?), 09:11, 19/03/2021 [^] [^^] [^^^] [ответить]  
  • +/
    А IS и IS NOT разве вообще должны возвращать что-то отличное от boolean'а?
     

  • 1.79, Аноним (79), 16:41, 18/03/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • –3 +/
    > Изначально в SQLite по умолчанию использовался режим "NOT MATERIALIZED", но теперь для CTE, используемых более одного раза, изменён на "MATERIALIZED".

    Лошары не умеют в оптимизацию запросов?

     
     
  • 2.147, Аноним (146), 04:19, 23/03/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Контролирование материализации это и есть один из вариантов оптимизации запросов.
     

  • 1.88, Аноним (144), 17:29, 18/03/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    Как не зайду, так уже начирикано коментов, не успеваешь просто, работать еще же приходится...

    Хотел сказать, что Рич - гений. А еще он любит C и Tcl/Tk - хороший вкус. Еще Fossil - всяко лучше Гита

     
     
  • 2.109, Аноним (58), 19:00, 18/03/2021 [^] [^^] [^^^] [ответить]  
  • +5 +/
    > не успеваешь просто, работать еще же приходится

    Тут 90% - школьники, и каждый уже написал 2 Оракла, имеет персональную яхту и Била Гейса водителем.

     

  • 1.108, kai3341 (ok), 18:53, 18/03/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    > реализована поддержка выражения RETURNING

    Я джва года ждал!

     
     
  • 2.110, Аноним (58), 19:01, 18/03/2021 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > RETURNING

    господи... это же чуть ли не с прошлого века в нормальных базах было.

     
     
  • 3.122, Sem (??), 22:51, 18/03/2021 [^] [^^] [^^^] [ответить]  
  • –1 +/
    И они все совсем не lite.
     
     
  • 4.123, Аноним (58), 22:54, 18/03/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > не lite

    Ну да, у них нет в названии "lite". А ты думал, если назвать "lite", то БД сразу станет lite?

     
     
  • 5.148, Аноним (146), 04:21, 23/03/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Нет, а что?
     

  • 1.133, abu (?), 07:24, 19/03/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Тот случай, когда можно процитировать  классика: =избы мне по нраву!=
     

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



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

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