The OpenNET Project / Index page

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

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

28.11.2021 09:29

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

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

  • Добавлена поддержка создания таблиц с признаком "STRICT", требующим обязательного указания типа при объявлении столбцов и применяющим строгую проверку соответствия типов добавляемых в столбцы данных. При выставлении данного флага SQLite станет выводить ошибку при невозможности привести указанные данные к типу столбца. Например, если столбец создан как "INTEGER", то передача строкового значения '123' приведёт к добавлению числа 123, но попытка указания 'xyz' завершится ошибкой.
  • В операции "ALTER TABLE ADD COLUMN" добавлена проверка условий существования строк при добавлении столбцов с проверками на базе выражения "CHECK" или с условиями "NOT NULL".
  • Реализовано выражение "PRAGMA table_list" для вывода информации о таблицах и представлениях.
  • В интерфейсе командной строки реализована команда ".connection", позволяющая одновременно поддерживать несколько соединений к БД.
  • Добавлен параметр "--safe", отключающий CLI-команды и SQL-выражения, которые позволяют совершать операции с файлами БД, отличающимися от указанной в командной строке БД.
  • В CLI проведена оптимизация производительности чтения SQL-выражений, разбиваемых на несколько строк.
  • Добавлены функции sqlite3_autovacuum_pages(), sqlite3_changes64() и sqlite3_total_changes64().
  • В планировщике запросов обеспечено игнорирование выражений "ORDER BY" в подзапросах и представлениях, если удаление данных выражений не изменяет семантику запроса.
  • Изменено расширение generate_series(START,END,STEP), первый параметр в котором ("START") переведён в разряд обязательных. Для возвращения старого поведения возможна пересборка с опцией "-DZERO_ARGUMENT_GENERATE_SERIES".
  • Сокращено потребление памяти для хранения схемы БД.


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


Обсуждение (132) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, Аноним (1), 09:38, 28/11/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • +13 +/
    Это лучшая встройка в мире
     
     
  • 2.2, cmustdie.com (?), 09:57, 28/11/2021 Скрыто ботом-модератором     [к модератору]
  • –19 +/
     
     
  • 3.7, Аноним (7), 10:15, 28/11/2021 Скрыто ботом-модератором     [к модератору]
  • +3 +/
     
     
  • 4.10, Аноним (10), 10:32, 28/11/2021 Скрыто ботом-модератором     [к модератору]
  • –1 +/
     
     
  • 5.14, Аноним (7), 10:56, 28/11/2021 Скрыто ботом-модератором     [к модератору]
  • +/
     
     
  • 6.26, Аноним (26), 12:16, 28/11/2021 Скрыто ботом-модератором     [к модератору]
  • –1 +/
     
     
  • 7.28, Прохожий (??), 13:05, 28/11/2021 Скрыто ботом-модератором     [к модератору]
  • +/
     
  • 5.27, Прохожий (??), 13:04, 28/11/2021 Скрыто ботом-модератором     [к модератору]
  • +/
     
  • 3.38, MaDDoG2000 (ok), 15:27, 28/11/2021 Скрыто ботом-модератором     [к модератору]
  • –2 +/
     
     
  • 4.66, x3who (?), 01:00, 29/11/2021 Скрыто ботом-модератором     [к модератору]
  • +1 +/
     
  • 2.4, E71 (?), 10:09, 28/11/2021 [^] [^^] [^^^] [ответить]  
  • –2 +/
    согласен, палочка-выручалочка
     

  • 1.5, pashev.me (?), 10:11, 28/11/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • –10 +/
    Без питона, SQLite и gnuplot это было бы невозможно - /v19
     
     
  • 2.70, OpenEcho (?), 06:00, 29/11/2021 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Вы о чем ?
    Закусывать надо, - обязательно, иначе ваши обороты речи, - не поддаются анализу
     

  • 1.9, Аноним (10), 10:30, 28/11/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • –2 +/
    Браузер ведь использует сабж? Как сделать, чтобы когда место кончается, он не рассыпался и не удалял все настройки аддонов и вкладок? Я внезапно обнаружил, что временные файлы с меги (почему они не удаляются, кстати?) выжрали всё место в хомяке, и почти все программы умерли и потеряли все данные.
     
     
  • 2.11, пох. (?), 10:34, 28/11/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Нет, вся беда именно в том что смузихлебы ниасилили сабж.
    Браузеры нынче используют интуитивно приятные этим макакам смузи-форматы, необратимо портящиеся и не подлежащие восстановлению, от sqlite отказались почти полностью. Но ты с этим ничего сделать не можешь.

    >  Как сделать, чтобы когда место кончается, он не рассыпался и не удалял все настройки аддонов и вкладок?

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


     
     
  • 3.42, Аноним (-), 15:40, 28/11/2021 [^] [^^] [^^^] [ответить]  
  • –7 +/
    Скулит тоже портится необратимо без особых нагрузок.
     
     
  • 4.84, Аноним (-), 13:54, 29/11/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Скулит тоже портится необратимо без особых нагрузок.

    А вон фряшный пакетник pkg, на sqlite - почему-то не портится.
    Просто у обезьянок оно всегда так - сначала "Пишем код! Быстрей-быстрей! Да хвостом шифт зажимай!", а потом - "оно само, не виноватая я!".

     
     
  • 5.149, пох. (?), 13:59, 03/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Ну так чего ты хочешь - написано-то на немодных сях, а не каком игого с коровоутинами, пытающимися параллельно жевать одну и ту же соломину и давящимися в результате, и параллельная запись не предусмотрена от слова вообще.

    Вот мразила уже освободилась от этой устаревшей плесени, и целиком почти перешла на нескучные json форматы. А потом ты гуглишь "у меня перестали запоминаться размеры окон, как починить?" - и находишь такое, что хоть стой, хоть падай.

    Заметим, для этого совершенно не требуется чтобы на диске кончалось место, оно само.

     
  • 2.12, Аноним (12), 10:36, 28/11/2021 [^] [^^] [^^^] [ответить]  
  • –10 +/
    > почти все программы умерли и потеряли все данные

    А что ещё ждать от недобазы?

     
     
  • 3.16, Прохожий (??), 11:09, 28/11/2021 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Что значит "недобаза" в твоём лексиконе? Видимо, на каждый чих ты Оракл привык разворачивать в кластерной конфигурации. Да? LOL!
     
     
  • 4.19, Аноним (7), 11:21, 28/11/2021 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Ты наверно к каждой микротулзе по скулю привязываешь. LOL!
     
     
  • 5.24, Прохожий (??), 11:44, 28/11/2021 [^] [^^] [^^^] [ответить]  
  • +2 +/
    А ты точно не читатель, малыш. И с памятью у тебя явные проблемы. Напомню. Чел выразил недовольство тем, что SQLite - это "недобаза". Вот мне и хотелось бы понять, какую бы он СУБД использовал бы в таком случае.
     
     
  • 6.33, Аноним (33), 14:36, 28/11/2021 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Это не проблемы с памятью, он просто к тебе относится как к гoвну
     
  • 6.61, pofigist (?), 23:12, 28/11/2021 [^] [^^] [^^^] [ответить]  
  • –6 +/
    На любом предприятии УЖЕ есть некая SQL - от pgsql, MySQL, MSSQL, DB2, Oracle... Создать в ней нужную БД - дело 2х минут. Заодно она сразу угодит в мониторинг, план бекапов и т.д.

    А вот со всякими SQLite, MS access, lo base, kexi и прочи локальным г-ном - возникают проблемы... С бекапом, мониторингом, контролем доступа и т.д.

    Была одна неплохая опенсоурснвх разработка - содрано с лучшей персональной СУБД - FileMarker, но в качестве движка - использовала pgsql... Жаль что лет 10 как сдохла

     
     
  • 7.80, Аноним (80), 09:22, 29/11/2021 [^] [^^] [^^^] [ответить]  
  • +/
    На любом достаточно большом предприятии их десятки.

    > А вот со всякими SQLite, MS access, lo base, kexi и прочи локальным г-ном - возникают проблемы...
    > С бекапом, мониторингом, контролем доступа и т.д.

    вон из профессии!

     
     
  • 8.81, pofigist (?), 09:55, 29/11/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Десятки только там где нет планирования ... текст свёрнут, показать
     
  • 7.95, OpenEcho (?), 14:22, 29/11/2021 [^] [^^] [^^^] [ответить]  
  • +/
    > На любом предприятии УЖЕ есть некая SQL - от pgsql, MySQL, MSSQL,
    > DB2, Oracle... Создать в ней нужную БД - дело 2х минут.

    Ну, давай, предложи "тупым" андроиду и апплу поменять в телефонах sqlite на твоих тяжеловесов...

     
     
  • 8.98, pofigist (?), 16:56, 29/11/2021 [^] [^^] [^^^] [ответить]  
  • +/
    А зачем в телефонах sqlite, да и вообще sql Конфиги хранить да логи ... текст свёрнут, показать
     
     
  • 9.106, OpenEcho (?), 21:00, 29/11/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Вот я когда не в теме, то стараюсь варежку держать закрытой, чтоб глупо не смотр... текст свёрнут, показать
     
     
  • 10.131, pofigist (?), 09:26, 30/11/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Так чего же ты не сейчас открыл-то ... текст свёрнут, показать
     
     
  • 11.132, OpenEcho (?), 10:30, 30/11/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Ну, так потрудись поискать значимость sqlite на телефонах, тогда будет понятно -... текст свёрнут, показать
     
     
  • 12.133, pofigist (?), 10:49, 30/11/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Очевидно что нулевая ... текст свёрнут, показать
     
  • 3.71, OpenEcho (?), 06:15, 29/11/2021 [^] [^^] [^^^] [ответить]  
  • +/
    > А что ещё ждать от недобазы?

    троллим потихоньку ?

     

  • 1.17, Аноним (17), 11:13, 28/11/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    Дожились. А когда это в скулит альтер тейбл зовезти успели ?
     
  • 1.23, Аноним (-), 11:42, 28/11/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • –3 +/
    жаль что лицензия не GPLv2, в ядро не вставить. и язык запросов не раст, небезопасно.
     
     
  • 2.47, Аноним (47), 17:19, 28/11/2021 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > жаль что лицензия не GPLv2, в ядро не вставить.

    Суть публичного достояния же в том, что можно вообще всё: и все копирайты убрать, и вписать себя единственным автором, и выбрать любую лицензию.

     

  • 1.25, YetAnotherOnanym (ok), 12:05, 28/11/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    > требующим обязательного указания типа при объявлении столбцов и применяющим строгую проверку соответствия типов

    Маятник пошёл в обратную сторону? Народ нахавался динамического преобразования чего угодно во что угодно и теперь разрабы везде будут внедрять строгую проверку типов?

     
     
  • 2.29, Аноним (29), 14:17, 28/11/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Нет, просто SQLite изначально был очень плохо спроектирован, до этого "динамизма".

    Но альтернативы, по-сути, нет для offline-first приложений.

     
     
  • 3.51, Аноним (51), 20:52, 28/11/2021 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Изначально не планировалось, что SQLite будет куда-то активно внедряться, был написан просто для удобства работы с небольшими наборами данных. Но проект внезапно взлетел и стал невероятно популярным. На slashdot'е было интервью с автором.
     
  • 2.39, Gogi (??), 15:28, 28/11/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Так всегда было :) Опытные зубры работают со статическими типами. Набегают смузихлёбы и начинается пестоно-вакханалия или жаболожство, потом всё это rовно падает, заказчик воздымает руки и пендалями прогоняет пи%%%%сов на мороз. И снова приходят зубры и переписывают всё как надо. :)
     
     
  • 3.50, YetAnotherOnanym (ok), 19:12, 28/11/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Это если у заказчика есть кто-то толковый. Часто просто докупают железо, переходят на бОльший план хостинга, а косяки подпирают костылями и подмазывают соплями.
    И для заказчика это норма, он просто не представляет, что можно как-то по-другому.
     
  • 3.125, Аноним (125), 01:02, 30/11/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Джава-то как раз строго-типизированный язык.
     

  • 1.34, Аноним (34), 14:48, 28/11/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Так. В проде можно использовать? Какие камни будут если 10_000 посетителей в сутки
     
     
  • 2.35, Аноним (10), 15:08, 28/11/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Чем тебя текстовые файлы не устраивают?
     
     
  • 3.36, Аноним (34), 15:13, 28/11/2021 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Как вы представляете себе форум на текстовых сайтах?
     
     
  • 4.37, Аноним (34), 15:13, 28/11/2021 [^] [^^] [^^^] [ответить]  
  • –1 +/
    *Файлах
     
     
  • 5.49, пох. (?), 18:26, 28/11/2021 [^] [^^] [^^^] [ответить]  
  • +/
    > *Файлах

    отлично представляю - унаследовал такой. В каждом сообщении есть линки на все ответы на ответы на ответы на это сообщение. При появлении нового сообщения в теме - все это цепочкой обновляется.
    И в принципе даже бы и работало, подумаешь обновить тысячу файлов примитивным скриптом - упс...как удалить сообщение спаммера, ссылка на которое уже добавлена в тысчонку файлов? А никак...

    Что делать если корневой индекс повредили? Сушить ласты...

    Ну и так далее.

    А так даже и работало, с 2000 по 2009й, что-ли.


     
     
  • 6.55, Онаним (?), 22:12, 28/11/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Бггг, кто-то жёстко говнокодил.
    Просто тему в один файл запихать было бы намного эффективнее.
    И даже дописывать можно без особого изнасилования мозга.
     
     
  • 7.77, Аноним (77), 09:17, 29/11/2021 [^] [^^] [^^^] [ответить]  
  • +/
    > Просто тему в один файл запихать было бы намного эффективнее.

    теперь спам вообще нельзя удалить без переписывания всего файла в хз сколько мегабайт (а те кто в этот же момент пытаются добавить - еще подождут)?
    Эффективность! Подай заявление на перевод в девляпсы.

    (Видимо про дерево реплаев ты не, не слышал? У тебя все форумы были плоские, хер угадаешь кто и на что отвечал?)


     
     
  • 8.88, Онаним (?), 13:56, 29/11/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Ты просто не догнал Что значит нельзя Дописываешь в хвост ID null, и всё, ... текст свёрнут, показать
     
     
  • 9.105, пох. (?), 19:57, 29/11/2021 [^] [^^] [^^^] [ответить]  
  • +/
    В хвост чего, у тебя ж вся тема в одном файле Нет, ты не успел, это не последне... большой текст свёрнут, показать
     
     
  • 10.107, Онаним (?), 21:16, 29/11/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Вся тема в одном файле не означает, что нельзя новые данные писать в хвост файла... текст свёрнут, показать
     
     
  • 11.117, пох. (?), 21:42, 29/11/2021 [^] [^^] [^^^] [ответить]  
  • +/
    угу, теперь файл надо еще и целиком сканировать чтобы убедиться что первый пост ... большой текст свёрнут, показать
     
     
  • 12.118, Онаним (?), 21:47, 29/11/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Не надо файл целиком сканировать, у большинства форумов постов не наберётся стол... текст свёрнут, показать
     
     
  • 13.120, Онаним (?), 21:48, 29/11/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Если контент здоровый - можно ещё со сканированием упростить достаточно перед д... текст свёрнут, показать
     
  • 13.130, пох. (?), 08:10, 30/11/2021 [^] [^^] [^^^] [ответить]  
  • +/
    а с чего ты взял, что один раз Гугель зайдет на огонек - и вгрузит тебе по самы... текст свёрнут, показать
     
  • 10.108, Онаним (?), 21:17, 29/11/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Threaded view генерится из любого набора данных элементарно, главное не вгружать... текст свёрнут, показать
     
  • 10.109, Онаним (?), 21:19, 29/11/2021 [^] [^^] [^^^] [ответить]  
  • +/
    И да, не надо блджад сканить всю базу Много постов, лень всё дерево загружать ... текст свёрнут, показать
     
     
  • 11.116, пох. (?), 21:37, 29/11/2021 [^] [^^] [^^^] [ответить]  
  • +/
    именно То есть ты наконец-то понял что изобрел велосипед с квадратными колесами... текст свёрнут, показать
     
     
  • 12.121, Онаним (?), 21:49, 29/11/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Да нет, я изначально пишу, что в RDBMS всё это уже сделано Но это не значит, чт... текст свёрнут, показать
     
  • 12.122, Онаним (?), 21:50, 29/11/2021 [^] [^^] [^^^] [ответить]  
  • +/
    А вот тем, кто всецело на RDBMS полагается, и ничего окромя не умеет - ну, курит... текст свёрнут, показать
     
  • 10.113, Аноним (51), 21:26, 29/11/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Немного оффт Живые группы есть на eternal-september org В разные периоды то бол... текст свёрнут, показать
     
     
  • 11.115, пох. (?), 21:35, 29/11/2021 [^] [^^] [^^^] [ответить]  
  • +/
    На этом понять смысл и преимущества тредовой читалки не получится Они хорошо ви... текст свёрнут, показать
     
     
  • 12.138, Anonymouz (?), 13:08, 30/11/2021 [^] [^^] [^^^] [ответить]  
  • +/
    В nntp linux-kernel ещё есть Который как-раз показывает всю ущербность tin a - ... текст свёрнут, показать
     
  • 6.69, ddd2 (?), 04:19, 29/11/2021 [^] [^^] [^^^] [ответить]  
  • +/
    https://forum.combats.com/

    ?

     
     
  • 7.78, Аноним (77), 09:19, 29/11/2021 [^] [^^] [^^^] [ответить]  
  • +/
    от неосиляторов древовидной структуры. Это даже не 2000й, это 89й, ну да, ну да, фидо с ее глупыми "lastread" и 640k enough.

     
  • 4.56, Онаним (?), 22:13, 28/11/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Да легко, вообще делать нечего.
    1 тема = 1 файл, сообщения append'ятся
    Глобальные индексы тем и поиска таким же append-файлом.
    Удаление сообщений через дописывание ID=null.
    Периодически компактирование, которое ничем не хуже вакуума в постгре.
     
     
  • 5.79, Аноним (80), 09:20, 29/11/2021 [^] [^^] [^^^] [ответить]  
  • +/
    > 1 тема = 1 файл, сообщения append'ятся

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

     
     
  • 6.89, Онаним (?), 13:57, 29/11/2021 [^] [^^] [^^^] [ответить]  
  • +/
    "Ответом на какой ответ является этот ответ" - просто поле в данных поста, оно не требует специального обращения при хранении.
     
     
  • 7.104, пох. (?), 19:51, 29/11/2021 [^] [^^] [^^^] [ответить]  
  • +/
    А теперь выведи мне всю цепочку сообщений, к которой относится это сообщение - вот до корневого.

    (ну или задачка попроще, просто покажи с чего все началось, я там дальше сам посмотрю, может мне другую параллельную подветку надо было)

    Оно еще как требует специального обращения, если к тебе ходят не полтора васяна.

     
     
  • 8.110, Онаним (?), 21:20, 29/11/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Элементарно Thread id в сообщении есть всегда Референс на предыдущий ответ тож... текст свёрнут, показать
     
     
  • 9.119, пох. (?), 21:47, 29/11/2021 [^] [^^] [^^^] [ответить]  
  • +/
    хаха А что такое thread На любое письмо может быть два реплая, каждый старт... большой текст свёрнут, показать
     
     
  • 10.123, Онаним (?), 21:53, 29/11/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Вгружается весь тред до корня Или весь целиком, или индекс Строится из линейно... текст свёрнут, показать
     
  • 10.124, Онаним (?), 21:55, 29/11/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Больше того, для RDBMS такая задачка - тоже не из самых лёгких Проще бывает вгр... текст свёрнут, показать
     
     
  • 11.127, пох. (?), 08:03, 30/11/2021 [^] [^^] [^^^] [ответить]  
  • +/
    агрегировать - не то же самое что иметь доступ к древовидной структуре Сам по с... большой текст свёрнут, показать
     
     
  • 12.139, Онаним (?), 14:32, 30/11/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Ды щаз, не нужен К этим элементам тарифы прибиты, и маршрутная информация Про ... текст свёрнут, показать
     
  • 8.111, Онаним (?), 21:22, 29/11/2021 [^] [^^] [^^^] [ответить]  
  • +/
    И нет, никаких специальных телодвижений там до появления тредов на больше памяти... текст свёрнут, показать
     
  • 8.112, Онаним (?), 21:26, 29/11/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Я просто очень даже в работе оперирую структурами, которые сильно превышают объё... текст свёрнут, показать
     
     
  • 9.114, Онаним (?), 21:29, 29/11/2021 [^] [^^] [^^^] [ответить]  
  • +/
    SQLite кстате тоже есть ... текст свёрнут, показать
     
  • 4.67, муу (?), 01:47, 29/11/2021 [^] [^^] [^^^] [ответить]  
  • +/
    дык на таком сайте прям щас сидишь
     
  • 4.96, fuggy (ok), 15:37, 29/11/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Не слышал про DokuWiki? PhpBB форум может работать работать на текстовых файлах и много других созданных во времена web 2.0. Ничего плохого в этом нет.
     
     
  • 5.103, pofigist (?), 18:21, 29/11/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Ничего хорошего - тоже. Оно конечно работает, но... мягко говоря не стабильно.

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

     
  • 3.41, Gogi (??), 15:32, 28/11/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Поначалу таже такое тупое решение работает. Проблемы начинаются обычно в середине, когда чела тупо попросили отсортировать по дате. :) "Текстовые файлы" годятся для вейпер-шопа с 3 позициями, а для форума нужна нормальная база.
     
     
  • 4.57, Онаним (?), 22:15, 28/11/2021 [^] [^^] [^^^] [ответить]  
  • +/
    А в чём проблема сортировки-то? Загрузил, и ворочай как хочешь. БД примерно то же самое делает.
    В самом худшем случае можно коротеньких индексных файлов докинуть, по 1 рекорду на 1 рекорд, просто чтобы всю портянку целиком не грузить. Если ещё сильнее изгольнуться - в индексные файлы можно поинтер писать внутрь основного, чтобы сразу с нужного места вгружать.

    Единственное что, при наличии RDBMS - всё это называется "изобретение велосипедов" - там всё это уже нормально сделано.

     
     
  • 5.76, Аноним (77), 09:15, 29/11/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > А в чём проблема сортировки-то? Загрузил, и ворочай как хочешь.

    и после пятого пользователя кончается почему-то память. Ну да, ну да.

    Но давайте еще добавим индексов и переизобретем sqlite заново - с квадратными колесами на этот раз.

     
     
  • 6.91, Онаним (?), 13:58, 29/11/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Ты не поверишь, вот даже для опеннета такого движка хватит, и ничего нигде не кончится.
     
  • 6.92, Онаним (?), 13:59, 29/11/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Память скорее кончится во всяких жабомонолитах, которые не знают, что такое загрузка данных по запросу, и пытаются всё в памяти удержать.
     
  • 4.63, PaleMoon (?), 23:41, 28/11/2021 [^] [^^] [^^^] [ответить]  
  • –1 +/
    В чем проблема отсортировать по дате, если файлы на одной из версий reiserfs?
     
  • 2.40, Gogi (??), 15:31, 28/11/2021 [^] [^^] [^^^] [ответить]  
  • –3 +/
    Я б не ставил на ссыкулит. Есть же вполне легковесные базы типа Postgres или даже Interbase (там ещё какие-то опенсорсные открытые форки были). MySQL опять же. Чем "стандартнее" СУБД, тем меньше от неё ожидается проблем.
     
     
  • 3.45, edo (ok), 15:59, 28/11/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Куда уж стандартнее?
    Почти на каждом компьютере или телефоне есть несколько баз sqlite
     
     
  • 4.65, Аноним (29), 00:42, 29/11/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Несколько? В каждом приложении.
     
  • 3.94, Наме (?), 14:02, 29/11/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Это однопользовательский движок. В нём нет (практически нет) реализации изоляции транзакций. Ну кроме сериализации через ожидания.
     
     
  • 4.128, пох. (?), 08:06, 30/11/2021 [^] [^^] [^^^] [ответить]  
  • +/
    > Это однопользовательский движок. В нём нет (практически нет) реализации изоляции транзакций.
    > Ну кроме сериализации через ожидания.

    И вот это единственная реальная претензия к автору. Почему он не захотел осилить sysV ipc, сделав вместо них файловые локи - вопрос риторический, под виндой нет никакого sysV.
    (причем в самых последних версиях ipc появился, linoops only, но не для изоляции, увы - похоже, такая идея автору в голову если и приходила, то никого там уже не застала, расстроилась и ушла)

     
     
  • 5.137, Наме (?), 12:02, 30/11/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Ну венды тогда на военных кораблях ВМС США не было. И сейчас, наверное, нет.
     
     
  • 6.146, пох. (?), 22:43, 30/11/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Эммм... мне казалось, история с заклинившими орудиями кресейра должна была войти уже в школьные учебники? "Персонал проинструктирован - ноль в это поле не вводить!" (У nt3.1 не оказалось обработчика прерывания по делению на ноль на платформе, кажись, mips)

    Сейчас, наверное, нет. Зачем платить ms, когда можно линoops нахаляву побольше, побольше!

     
  • 2.44, Gogi (??), 15:49, 28/11/2021 [^] [^^] [^^^] [ответить]  
  • +/
    К слову, не так страшны 10 тыщ леммингов в сутки, как 1000 хакеров в 1 секунду. :) Тут надо смотреть на пиковую загрузку. На простом .NET/C# и sockets (самый обычный, connect-send-receive) я держал 120 клиентов в секунду. С вебом может быть посложнее, но тут надо смотреть бутылочное горлышко и устранять.
     
     
  • 3.53, Онаним (?), 22:08, 28/11/2021 [^] [^^] [^^^] [ответить]  
  • +/
    С пиковой загрузкой в случае простых не-realtime сервисов решается отдачей "please wait" всем, кто не влез. Чуть подождут, и влезут.
     
     
  • 4.90, Наме (?), 13:58, 29/11/2021 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Зачем? Любая транзакционная СУБД с этим справится без сериализации.
     
     
  • 5.129, пох. (?), 08:08, 30/11/2021 [^] [^^] [^^^] [ответить]  
  • +/
    > Зачем? Любая транзакционная СУБД с этим справится без сериализации.

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

    Ой... алярма, кнутователь бежит махая кнутом - у нас опять "все пависла в базе локи!"

     
     
  • 6.136, Наме (?), 11:59, 30/11/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Бывает и является простой рутиной, разрешаемой бизнес-правилами. Как-бы, большинство производственных баз апдейты делают на рипитэбл рид или вообще на рид коммитэт и как-то проблемы потерянных обновлений решают. В mvcc-режиме локов не будет -- будут откаты из-за коллизии обновлений. В блокирующем гуане мамонта, вроде старых МС Сиквелов, да, дэдлоки будут, но там тоже это всё решаемо.
     
  • 2.52, Онаним (?), 22:08, 28/11/2021 [^] [^^] [^^^] [ответить]  
  • +/
    10000 посетителей или обращений?
    Если второе - можно конечно, это один штука в 8.64 секунды.
    А то может каждый посетитель по 20 запросов в секунду хочет, тогда нельзя.
     

  • 1.46, Аноним (46), 16:56, 28/11/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • –2 +/
    > But apart from the extra STRICT keyword, the underlying file format of the database is identical.

    Нахрен не нужно. Это значит там всё ещё хранят схему для каждой отдельной записи. То есть оверхед. Если у тебя много записей - то много оверхеда. Если тебе в одной колонке поле нужно хранить всего один байт, то оверхед на хранение типа этого байта будет как сам этот байт (тип храрится в varint, а он is between 1 and 9 bytes in length).

     
     
  • 2.58, Онаним (?), 22:19, 28/11/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    STRICT - тупо сахар для неосиляторов.
    Что же до оверхеда - всё это мелочи по сравнению собственно с глобальным индексом записей.
     
     
  • 3.74, Аноним (77), 09:13, 29/11/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Именно так - мурзила и кто там еще девушка ужынает не справилась с битьем по рукам обезьянок, все равно умудряющихся засунуть строку вместо числа и потом падающих на попытке ее использовать как число.

    Проще и дешевле дэушка утанцевать в сторону добавить проверку в саму библиотеку, чтоб по лапкам попадало автоматически и всегда. Считайте это еще одним constraint, оно скорее всего и механизм использует тот же самый.

    Что до оверхеда, то он нулевой.

     

  • 1.54, Онаним (?), 22:10, 28/11/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • –2 +/
    "Add the --safe command-line option that disables dot-commands and SQL statements that might cause side-effects that extend beyond the single database file named on the command-line. "

    Плохо понимаю, зачем ограничивать _CLI_, ну да ладно.

     
     
  • 2.64, Нямус (?), 00:20, 29/11/2021 [^] [^^] [^^^] [ответить]  
  • +/
    >Плохо понимаю, зачем ограничивать _CLI_

    За скриптингом.

     
  • 2.83, Аноним (7), 13:29, 29/11/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Квалификация скуль разработчиков вынуждает накладывать на них возможность защиты от дурака.  
     

  • 1.59, pofigist (?), 22:54, 28/11/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    SQLite это не СУБД!
     
     
  • 2.60, Аноним (12), 23:02, 28/11/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Не мешай людям мечтать!
     
     
  • 3.62, pofigist (?), 23:15, 28/11/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    SQLite это настолько не Unix way, что аж зубы сводит...
    У него же бинарный формат файла, а в нем - конфиги хранят!
    И эти же люди - жалуются на реестр...
     
     
  • 4.68, Аноним (12), 01:55, 29/11/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Что поделать, кирпичом пытаются гвозди забивать.
     
     
  • 5.72, pofigist (?), 07:45, 29/11/2021 [^] [^^] [^^^] [ответить]  
  • +/
    У нее один плюс - в теории ее всегда можно выкинуть и без особых проблем заменить на полноценную СУБД. С минимальными переделками.
     
     
  • 6.87, Наме (?), 13:56, 29/11/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Скорее не переделками, а перделками. И не минимальными, а густыми и сочными.
     
  • 4.82, Аноним (7), 13:28, 29/11/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Да тут фанатики почище раста. Все на стороне скуля.  
     
     
  • 5.99, pofigist (?), 16:57, 29/11/2021 [^] [^^] [^^^] [ответить]  
  • +/
    В смысле? Если тебе нужен sql db - используй полноценную СУБД. А вот если тебе не нужна полноценная СУБД - отличный повод задуматься, а нужен ли тебе именно SQL?
     
     
  • 6.135, Наме (?), 11:54, 30/11/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Нет никакой обязательной связи между Сиквелом и СУБД. Сиквел просто удобный способ манипулировать данными. Всё. Удобнее, а практически всегда удобнее, использовать декларативный реляционный подход? Вот тебе, держи и пользуйся. Нужна многопользовательская среда с транзакциями, бэкапом, репликациями и т.д. и т.п.? Тогда нужно что-то потолще.
     
     
  • 7.141, pofigist (?), 15:26, 30/11/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Да ну?

    > SQL (ˈɛsˈkjuˈɛl; англ. structured query language — «язык структурированных запросов») — декларативный язык программирования, применяемый для создания, модификации и управления данными в реляционной базе данных, управляемой соответствующей системой управления базами данных.

     
     
  • 8.142, Наме (?), 16:40, 30/11/2021 [^] [^^] [^^^] [ответить]  
  • +/
    У тебя во рту тоже есть язык Но если его оттуда изъять он языком быть не перест... текст свёрнут, показать
     
     
  • 9.144, pofigist (?), 17:43, 30/11/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Нуу Нет, создатели реляционной модели - с тобой не согласны Они предлагают и... текст свёрнут, показать
     

  • 1.73, Аноним (73), 08:44, 29/11/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    Отличная локальная база. То что нужно!
     
     
  • 2.86, Наме (?), 13:55, 29/11/2021 [^] [^^] [^^^] [ответить]  
  • +/
    А что такое "локальная база"?
     
     
  • 3.126, Аноним (73), 07:14, 30/11/2021 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Не ужели вам на вайти в айти смузи курсах не рассказывали?

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

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

    p.s "программы" - это то, что благодаря маркетолога, сейчас называют приложениями.

     
     
  • 4.134, Наме (?), 11:50, 30/11/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Локальность или нелокальность не имеет никакого значения. Тут дело не в локальности, а в принципиальном однопользовательском применении. Ничто не мешает приделать сокет, но от этого решение не станет многопользовательским.
     

  • 1.85, Наме (?), 13:55, 29/11/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Неплохой однопользовательский эрзац сиквела. Для остальных затей явно не то, что стоит выбирать.
     
  • 1.93, Наме (?), 14:00, 29/11/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    И это не субд, а встраиваемый однопользовательский реляционный движок работы с данными. Наверное так, да?
     
     
  • 2.97, Аноним (12), 16:51, 29/11/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Это помойка, которую легко заменяет ini-файл, ибо для других целей её не используют.
     
     
  • 3.102, Наме (?), 17:23, 29/11/2021 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Не соглашусь. На реляционной "декларативке" зачастую куда проще данными оперировать. Во встройке какой-нибудь промышленной, например. Лайт же исконно использовали для упрощения интеграции БИУСов с автономными корабельными системами (чтоб и там и там была одна модель данных, ну или близкая).
     
  • 3.140, Онаним (?), 14:35, 30/11/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Используют, и ещё как.
    Одно из удобств - в локальности. Когда структура данных примитивная, но большие по числу строк и размеру данных объёмы - очень неплохо справляется, кстати.
     
     
  • 4.143, Наме (?), 16:42, 30/11/2021 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Нет никакой "локальности". Куда ты Лайт встроишь не ограничено ничем, кроме полёта фантазии. Ещё раз, просто приделай сокет и не будет твое решение с Лайтом локальным, а вполне себе глобальным.
     
     
  • 5.145, Онаним (?), 21:10, 30/11/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Я о другой локальности, ну да ладно.
    Оверхед "сокета", когда тебе надо по одной строчке из пары миллионов выбирать - не шутка.
     
     
  • 6.147, Наме (?), 10:14, 01/12/2021 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Если одну строку из миллионов? Никакого сколь-либо существенно влияния сокету тут не будет. Ты, наверное, имел в виду миллионы строк по одной? Да, тогда будет. Но Сиквел как раз про то, чтобы не выбирать миллионы по одной, а выбирать сразу множествами.
     
     
  • 7.148, Онаним (?), 14:34, 01/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Не "одну", а по "одной". Множества там не особо катят.
    Можно конечно хранимки написать, но блин, там база одноразовая - её ж ещё залить сначала придётся.
     

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



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

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