The OpenNET Project / Index page

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

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

03.12.2020 14:21

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

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

  • Улучшения в CLI:
    • Добавлена возможность использования неименованных каналов вместо имени файла в команде ".read".
    • В команду ".dump" добавлены опции "--data-only" и "--nosys".
    • В команду ".schema" добавлена опция "--nosys".
    • В команде ".import" обеспечена корректная обработки имён таблиц в кавычках.
    • В CLI встроена функция "generate_series(START,END,STEP)".
    • В команде .databases обеспечен показ состояния каждого файла с БД.
    • Добавлен параметр командной строки "--tabs" для установки режима вывода с разделением символами табуляции.
  • В планировщике запросов улучшено прогнозирование ресурсов при обработке оператора DISTINCT. Уменьшено число перемещений по таблице при обработке операций UPDATE или DELETE с использованием многостолбцовых индексов, не все столбцы в которых охватывает запрос.
  • Для оптимизации поиска в многостолбцовых индексах при наличии ограничений выборки оператором IN задействован новый опкод OP_SeekScan.
  • Реализована возможность использования команд BEGIN IMMEDIATE и BEGIN EXCLUSIVE с БД, подключёнными в режиме только для чтения.
  • В движке полнотекстового поиска улучшена поддержка индексов trigram.
  • Повышена производительность примитивов блокировки WAL-лога при наличии сотен соединений к файлу с БД.
  • Добавлен псевдоним SQL-функции "substr()" - "substring()" для совместимости с MS SQL Server.


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


Обсуждение (147) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, A.Stahl (ok), 14:24, 03/12/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • +17 +/
    Самая нужная БД в мире (ну после CSV, конечно)!
     
     
  • 2.2, Аноним (2), 14:33, 03/12/2020 [^] [^^] [^^^] [ответить]  
  • –21 +/
    На самом деле она как царь Мидас, только наоборот - всё куда она вкрячена начинает неистово тормозить. Заметил это ещё лет 10 назад в xmoto когда индексировались новые уровни - запись инфы о них в базу данных занимала до секунды на каждый. Вот и сейчас - pkg во FreeBSD тормозит из-за этой недобазёнки, профиль firefox пухнет из-за неё же.
     
     
  • 3.4, Аноним (4), 14:42, 03/12/2020 [^] [^^] [^^^] [ответить]  
  • +10 +/
    кек, ну перетяни тот же софт на окакл и посмотри, насколько "ЭТО" будет в реальности тормозить, заодно вспомнишь в FF каково было во времена диалапа.
    И pkg тормозит отнюдь не из-за sqlite
     
     
  • 4.31, Аноним (2), 18:09, 03/12/2020 [^] [^^] [^^^] [ответить]  
  • –8 +/
    > кек, ну перетяни тот же софт на окакл и посмотри

    Какой нахрен оракле. Из не-встраиваемых баз я к этой говноподелке близко не подойду, когда парк корпоративных баз перевели на postgres столько проблем сразу ушло. Тут-то речь про встраиваемые базы.

    > И pkg тормозит отнюдь не из-за sqlite

    Из-за sqlite. Фаза "Updating packages" которая и жрёт 90% времени при обновлении - это именно обновление sqlite.

     
     
  • 5.44, Страшный аноним (?), 21:20, 03/12/2020 [^] [^^] [^^^] [ответить]  
  • +7 +/
    > Какой нахрен оракле. Из не-встраиваемых баз я к этой говноподелке близко не подойду, когда парк корпоративных баз перевели на postgres столько проблем сразу ушло.

    Какой тут болид Формулы-1? Я к этой говноперделке близко не подойду. Когда парк корпоративных автомобилей перевели на Запорожец, столько проблем сразу ушло у нас, у механиков.

     
     
  • 6.107, Аноним (2), 18:08, 04/12/2020 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Оракле это не болид формулы-1. Это уродливая неповоротливая базёнка обросшая неоправанными мифами о её якобы крутости, поскольку из-за, опять же, неоправданной её стоимости доступна она только в кровавом интерпрайзе, и то только нечеловеческими усилиями продавальщиков оракла, а обычным смертным оракл запрещает даже публиковать бенчмарки своей поделки, догадайтесь по каким причинам. Но король-то голый.
     
  • 3.7, Аноним (7), 15:02, 03/12/2020 [^] [^^] [^^^] [ответить]  
  • –5 +/
    > pkg во FreeBSD

    Там ещё куча проблем. Мне пока не верится что из-за скулите можно рандомно крашиться посреди апдейта системы, оставляя её в полудохлом состоянии.
    Всё-таки pkg - это своя разработка бздешников, а не утащеная с линукса.

     
     
  • 4.25, zzz (??), 17:01, 03/12/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    >из-за скулите можно рандомно крашиться посреди апдейта системы
    >куча проблем

    Твоя единственная "куча проблем" - кривые руки.

     
     
  • 5.33, Аноним (7), 18:51, 03/12/2020 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Крикни громче, раз больше нечего сказать. И ещё расскажи всем что в бзде всё работает и ничего не ломается. UFS2, ilwifi - тоже результат кривых рук, да...
     
     
  • 6.36, Аноним (-), 19:35, 03/12/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Крикни громче, раз больше нечего сказать. И ещё расскажи всем что в
    > бзде всё работает и ничего не ломается. UFS2, ilwifi - тоже
    > результат кривых рук, да...

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

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


     
     
  • 7.52, Аноним (52), 23:23, 03/12/2020 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Или отключение питания (паника ядра? что-то чаще чем линукс паникует), но то такое.
     
     
  • 8.58, Аноним (-), 02:08, 04/12/2020 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Пока прошивка устройства не переупорядочивает запись, не игнорирует сброс write ... текст свёрнут, показать
     
     
  • 9.66, zzz (??), 02:48, 04/12/2020 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Кого ты слушаешь, в лучшем случае он гонял фрю в qemu kvm с включенным writecach... текст свёрнут, показать
     
     
  • 10.67, Аноним (52), 03:35, 04/12/2020 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Ну вообще-то на хосте, но оправдания у вас забавные Я бы даже поставил на то чт... текст свёрнут, показать
     
     
  • 11.68, Аноним (52), 03:36, 04/12/2020 [^] [^^] [^^^] [ответить]  
  • –1 +/
    s поставил не поставил ... текст свёрнут, показать
     
  • 11.69, zzz (??), 03:43, 04/12/2020 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Поставил фрю на хост, тут же получил две паники и UFS рассыпалась Две песни Фа... текст свёрнут, показать
     
     
  • 12.70, Аноним (52), 03:47, 04/12/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Как ты узнал Только паник было даже не две, штук 5 пока я от них избавился Но ... текст свёрнут, показать
     
     
  • 13.72, zzz (??), 04:43, 04/12/2020 [^] [^^] [^^^] [ответить]  
  • +/
    И еще премию Золотая малина за лучшую актерскую игру ... текст свёрнут, показать
     
  • 6.46, bergentroll (ok), 21:30, 03/12/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Ах, вот и луна заглянула в окошко. Время укутаться в плед, налить себе травяного чаю и открыть мой любимый opennet.
     
  • 6.51, Аноним (-), 22:49, 03/12/2020 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > в бзде всё работает и ничего не ломается. UFS2 ... - тоже результат кривых рук, да...

    А проблемы с UFS2 случайно не в qemu+KVM, с настройками по умолчанию?

     
  • 6.63, Ivan_83 (ok), 02:31, 04/12/2020 [^] [^^] [^^^] [ответить]  
  • –1 +/
    С вифи - плохо, скоростя ущербные, тут спору нет С остальным - проблем нет или ... большой текст свёрнут, показать
     
     
  • 7.76, пох. (?), 09:37, 04/12/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Дааа, раньше-то достаточно было иногда обновлять RELENG патчами и вокараундам... большой текст свёрнут, показать
     
     
  • 8.113, GentooBoy (ok), 20:14, 04/12/2020 [^] [^^] [^^^] [ответить]  
  • +/
    мм планку годности передвинули с 4 версии до 8 версии, занятно ... текст свёрнут, показать
     
     
  • 9.115, пох. (?), 23:35, 04/12/2020 [^] [^^] [^^^] [ответить]  
  • +/
    в четвертой был, помимо прочих болезней детства, works as intended в виде никогд... текст свёрнут, показать
     
  • 8.118, Ivan_83 (ok), 00:58, 05/12/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Ты походу теоеретег У меня более 20Т и проверяется оно за вполне конечно время,... текст свёрнут, показать
     
  • 4.62, Ivan_83 (ok), 02:20, 04/12/2020 [^] [^^] [^^^] [ответить]  
  • +/
    pkg так просто не крашится.
    http://www.netlab.linkpc.net/download/software/os_cfg/FBSD/12.0/base/root/bin - можете этим в след раз корки разгрести и выложить в гитхуб, завести там багу.
    Ещё в сисцтл:
    kern.coredump=1 # Enable/Disable coredumps.
    kern.nodump_coredump=1 # Enable setting the NODUMP flag on coredump files.
    kern.coredump_devctl=1 # Generate a devctl notification when processes coredump.
    kern.corefile=/tmp/%N.%I.core # Process corefile name format string
    kern.compress_user_cores=1 # Compression of user corefiles
    kern.compress_user_cores_level=3 # Corefile compression level
    debug.ncores=16 # Limiting the number of corefiles generated by a particular process

    А простое нытьё на форуме, без пруфов - удел школоты начальных классов.

     
  • 3.9, Аноним (9), 15:06, 03/12/2020 [^] [^^] [^^^] [ответить]  
  • +/
    > всё куда она вкрячена начинает неистово тормозить

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

     
     
  • 4.12, Аноним (12), 15:10, 03/12/2020 [^] [^^] [^^^] [ответить]  
  • –2 +/
    - А что, если начать думать? ... Да ну нафик! Лучше скуля вкрячу.
     
     
  • 5.17, Аноним (17), 16:00, 03/12/2020 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Тот кто умеет думать скуль и не юзает.
     
  • 3.61, Ivan_83 (ok), 02:15, 04/12/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Оно не тормозит, как минимум у меня.
    Я бы на вашем месте прошёлся профайлером или хотя бы truss чтобы хотя бы примерно понять в чём проблема.
    Или как минимум пожаловался на гитхабе, где pkg и пилится.
     
     
  • 4.108, Аноним (2), 18:11, 04/12/2020 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Тормозит она у всех, а ты либо врёшь, либо считаешь нормальным что обновление состояния удалённого репозитория происходит не мгновенно. Проблема неоднократно обсуждалась с bapt, но увы, больше из sqlite не выжать.
     
     
  • 5.114, анонн (ok), 20:16, 04/12/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Ну, по сравнению с APT оно летает на tmpfs, древний мобильный двухядерный i3 ... большой текст свёрнут, показать
     
  • 5.119, Ivan_83 (ok), 01:02, 05/12/2020 [^] [^^] [^^^] [ответить]  
  • +/
    # /usr/bin/time -h pkg update
    Updating FreeBSD repository catalogue...
    Fetching meta.txz: 100%    916 B   0.9kB/s    00:01    
    Fetching packagesite.txz: 100%    6 MiB   2.3MB/s    00:03    
    Processing entries: 100%
    FreeBSD repository update completed. 32859 packages processed.
    All repositories are up to date.
    11.37s real 6.03s user 0.15s sys

    12 секунд, из которых минимум 4 оно тянуло по сети - не вижу проблемы.

     
  • 3.105, Аноним (105), 17:33, 04/12/2020 [^] [^^] [^^^] [ответить]  
  • +/
    > Заметил это ещё лет 10 назад

    Гы. Как раз 10 лет назад в sqlite (в релизе 3.7.0) завезли WAL, который избавляет от тормозов при интенсивной записи. Правда, приложение должно этот режим активировать с своей стороны. Так что ты упел запрыгнуть в криокамеру, что называется, в последний момент.

    > сейчас - pkg во FreeBSD тормозит из-за этой недобазёнки

    Да? Если верить бенчмаркам, даже в 2012 году производительнсть недобазёнки составляла в 40+ тысяч операций в секунду. Посмотри сам - http://www.lmdb.tech/bench/microbench/ Может, если бздя тормозит, виноват в этом может быть не только sqlite?

     
     
  • 4.110, Аноним (2), 18:27, 04/12/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Ты серьёзно думаешь что это впечатляющее число Кстати, как раз порядка 30k запи... большой текст свёрнут, показать
     
  • 2.29, MasterSlave (?), 17:45, 03/12/2020 [^] [^^] [^^^] [ответить]  
  • –1 +/
    CSV не просто нужная, а ещё и лучшая.
     
     
  • 3.83, Аноним (83), 11:08, 04/12/2020 [^] [^^] [^^^] [ответить]  
  • +/
    И как у нее дела с репликацией Мастер-Мастер?
     
     
  • 4.93, мое правило (?), 13:04, 04/12/2020 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Отлично, вот смотрите - "cp ./master.csv ../master.cvs"
     
     
  • 5.103, Аноним (103), 16:54, 04/12/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Пока ты копировал в первый файл записалось 10 строк, а когда скопировалось во второй файл записалось 100 строк. Твои действия?
     
  • 4.97, Аноним (97), 15:23, 04/12/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Такая репликация в последний год резко потеряла актуальность. Теперь репликация SJW-SJW в трендах.
     
  • 4.109, Аноним (105), 18:13, 04/12/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Ты говоришь так, будто в sqlite репликацию мастер-мастер уже завезли
     

     ....большая нить свёрнута, показать (40)

  • 1.3, Аноним (3), 14:41, 03/12/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    >Код SQLite распространяется как общественное достояние (public domain)
    >входят такие компании, как Adobe, Oracle, Mozilla, Bentley и Bloomberg

    Комментарии излишни.

     
     
  • 2.5, Урри (ok), 14:46, 03/12/2020 [^] [^^] [^^^] [ответить]  
  • +12 +/
    Но может вы все же раскроете свою мысль?
     
     
  • 3.13, Аноним (13), 15:18, 03/12/2020 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Раскрытие мыслей - излишне
     
     
  • 4.15, Аноним (15), 15:57, 03/12/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Это эмоция - переполняют они человека Анонима и так в каждой теме

    Шелуха и бытовые мнения земноводных с рассуждениями о вселееной открытого ПО зачастую не подкрепленное даже простым "Hello, World" и на выходе срачи вроде этого о том что автор слишком редкий Д'Артаньян

    С другой стороны так почти везде начиная от кухонны споров у кофейника и до мировой политики как там эта тусня G20 она вокруг чего?

     
     
  • 5.24, leibniz (ok), 16:47, 03/12/2020 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Эмоция - излишне это
     
     
  • 6.54, анонимуслинус (?), 23:54, 03/12/2020 [^] [^^] [^^^] [ответить]  
  • –2 +/
    да да по всем правилам психологии - идеальный человек это робот -овощ))) знаем мы вас без эмоций))) а база как база. свою работу делает уже годами. ну хорошо когда есть что то лучше или хуже. благо есть замена если кому то не нравится. было бы плохо если б была 1 и всем её впаривали.
     
  • 4.98, Аноним (97), 15:24, 04/12/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Доведу до логического конца:

    >Наличие мыслей - излишне.

     
  • 3.16, Аноним (3), 15:58, 03/12/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Наверное тем что не копилефт, чтобы корпорации могли тырить код.
     
  • 3.37, Нанобот (ok), 19:43, 03/12/2020 [^] [^^] [^^^] [ответить]  
  • +/
    просить у анонима раскрыть мысль - всё равно, что просить немого спеть
     
     
  • 4.94, Аноним (-), 13:31, 04/12/2020 [^] [^^] [^^^] [ответить]  
  • +/
    А ты раскрыл мысль ?
     

  • 1.6, Урри (ok), 14:46, 03/12/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • –3 +/
    Sqlite настолько совершенен, что уже ничего по сути нового в нее добавить нельзя.
     
     
  • 2.8, Аноним (8), 15:03, 03/12/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Можно было бы переписать на Rust'е, но растоманы умеют лишь мечтать.
     
     
  • 3.11, Аноним (12), 15:07, 03/12/2020 [^] [^^] [^^^] [ответить]  
  • +/
    кстати, термин "растаманы" есть на вики :) очень соответствует.
     
     
  • 4.14, Аноним (-), 15:20, 03/12/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Конечно, на этом языке не обкурившись сложно что-либо написать. Правда, обкурившись, видимо, тоже очень непросто.
     
     
  • 5.19, Аноним (17), 16:00, 03/12/2020 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Зато можно придумать новый уровень абстракции обратно не совместимый, зато жутко безопасный.
     
  • 5.45, Аноним (45), 21:21, 03/12/2020 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Не путай удобный Раст с пустым C.
     
     
  • 6.121, Аноним (-), 04:48, 05/12/2020 [^] [^^] [^^^] [ответить]  
  • +/
    > Не путай удобный Раст с пустым C.

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

     
     
  • 7.143, Аноним (45), 22:10, 05/12/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Каждая закорюка имеет смысл, и в большинстве случаев полностью на своем месте.
    Советую хоть немного разобраться, прежде чем пытаться судить.

    Особенно в сравнении с C, который давно застыл на месте, и C++, который вобрал в себя вообще что можно и нельзя, погряз в шаблонах, а нетворка до сих пор нет ¯\_(ツ)_/¯

     
  • 4.48, Ordu (ok), 21:53, 03/12/2020 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Да, рэгги -- божественная музыка.
     
  • 3.23, Аноним (23), 16:42, 03/12/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    растаманы сделали обёртку над sqlite и вроде не парятся

    хотя есть и оригиналы…
    https://crates.io/crates/kiln

     
     
  • 4.42, Урри (ok), 20:18, 03/12/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Обертки над sqlite есть на всем, даже на лиспе.
     
  • 3.35, имя (ok), 19:25, 03/12/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > it is possible that SQLite might one day be recoded in Rust.
    > Some preconditions that must occur before SQLite is recoded in Rust

    https://www.sqlite.org/whyc.html

    > Advocates of "safe" language correctly observe that this particular problem would not have happened if SQLite were written in (say) Rust. Rewriting SQLite in Rust in not (yet) a viable solution. (See https://www.sqlite.org/whyc.html) But I can start moving SQLite in that direction, and perhaps make use of techniques taken from safe languages to improve its resistance to attack.

    https://news.ycombinator.com/item?id=18687955

     
  • 3.96, Аноним (96), 14:57, 04/12/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Так уже переписывают.
     
  • 2.10, Аноним (12), 15:07, 03/12/2020 [^] [^^] [^^^] [ответить]  
  • +2 +/
    > ничего ... добавить нельзя.

    Скорости бы, Карл, скорости добавить...

     
  • 2.18, Аноним (15), 16:00, 03/12/2020 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Я бы добавил:

    * TABLE RENAME
    * COLUMN RENAME

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

     
     
  • 3.43, Урри (ok), 20:25, 03/12/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Но это ведь неплохо эмулируется с помощью create; insert select; delete.
     
     
  • 4.120, Аноним (120), 01:25, 05/12/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Ну так то да, но это же обходной путь.
     
  • 4.140, economist (?), 16:19, 05/12/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Это умеют IDE для SQLite - SQLite Manager (FF, XUL), SQLite Studio b tot c пяток софтин
     
  • 2.20, пох. (?), 16:14, 03/12/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Я бы добавил нормальные row locks - например, через банальную sysV shm+семафоры (точно так же как это было у раннего postgresql), и забыл бы про файловые локи как про страшный сон.

    Но, к сожалению, автор никогда на это не согласится.

     
     
  • 3.21, Catwoolfii (ok), 16:34, 03/12/2020 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Все уже реализовано: https://www.sqlite.org/wal.html
     
     
  • 4.26, Аноним (12), 17:19, 03/12/2020 [^] [^^] [^^^] [ответить]  
  • +/
    лучше бы ты не вспоминал эти wal-файлы
     
  • 4.32, пох. (?), 18:47, 03/12/2020 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Нет, к сожалению. Это для _единственного_ клиента работает, и то кое-как и с кучей ограничений.
    А когда у тебя две _разные_ программы одновременно обращаются к базе на запись - здравствуй, flock() на всю базу целиком.
    И пока первая wal не накатит - вторая ничего записать туда не может.

    Патамушта это единственный _системонезависимый_ способ сообщить вообще совсем другому процессу, что тут что-то занято (а про "что-то" размером меньше чем вся база - никак).

    А ключевые игроки у нас... правильно, под винду.

     
     
  • 5.47, банан (?), 21:52, 03/12/2020 [^] [^^] [^^^] [ответить]  
  • +5 +/
    > А когда у тебя две _разные_ программы одновременно обращаются к базе на запись

    sqlite это как бы встраимаевая бд, к ней и не должно быть таких требований

     
     
  • 6.50, пох. (?), 22:26, 03/12/2020 [^] [^^] [^^^] [ответить]  
  • –5 +/
    ты не понимаешь что такое "встраиваемая"? Бида-бида.

     
  • 6.75, Аноним (75), 09:32, 04/12/2020 [^] [^^] [^^^] [ответить]  
  • +/
    В этом плане меня также удивляет фраза Повышена производительность примитивов б... большой текст свёрнут, показать
     
     
  • 7.78, пох. (?), 10:09, 04/12/2020 [^] [^^] [^^^] [ответить]  
  • –4 +/
    еще один Единственная реальная особенность встроенной БД - что она - встроенн... большой текст свёрнут, показать
     
     
  • 8.86, Аноним (75), 11:56, 04/12/2020 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Ну, это как раз ты, со своими фантазиями о том, какой должна быть встроенная БД,... текст свёрнут, показать
     
     
  • 9.89, пох. (?), 12:12, 04/12/2020 [^] [^^] [^^^] [ответить]  
  • –1 +/
    к счастью для меня - они в целом совпадают с фантази результатами работы автор... текст свёрнут, показать
     
  • 6.90, Ordu (ok), 12:13, 04/12/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > sqlite это как бы встраимаевая бд, к ней и не должно быть таких требований

    Почему? В смысле, назвался груздем полезай в кузов? Назвался встраиваемой бд, значит не смей позволять многим процессам конкуретно писать в бд? Почему? Потому что иначе банану шаблон порвёт, или есть какая-нибудь более глубокая причина?

     
     
  • 7.122, Аноним (-), 04:50, 05/12/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Потому что если нечто назвали микроскопом, удобство забивания им гвоздей никто никогда и не обещал, чтоли.
     
  • 5.77, nobodynoone (?), 09:52, 04/12/2020 [^] [^^] [^^^] [ответить]  
  • +/
    https://www2.sqlite.org/src/doc/begin-concurrent/doc/begin_concurrent.md

    https://www2.sqlite.org/src/doc/wal2/doc/wal2.md

    https://www2.sqlite.org/src/timeline?r=begin-concurrent-pnu-wal2

     
     
  • 6.80, пох. (?), 10:28, 04/12/2020 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Ну костылинг же ж. И тот неизвестно, будет ли вообще окончательно допилен.

    > If all database clients (readers and writers) are located in the same OS process

    знаешь, в пределах собственного процесса я уж как-нибудь сам разберусь

     
     
  • 7.82, nobodynoone (?), 10:53, 04/12/2020 [^] [^^] [^^^] [ответить]  
  • +/
    >> If all database clients (readers and writers) are located in the same OS process
    > знаешь, в пределах собственного процесса я уж как-нибудь сам разберусь

    Это предложение не про возможность или невозможность, а про эффективность.

     
     
  • 8.88, пох. (?), 12:09, 04/12/2020 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Хм, где там про то что оно в принципе работает при двух разных процессах Я что-... текст свёрнут, показать
     
     
  • 9.92, nobodynoone (?), 12:26, 04/12/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Если перевернуть, то там - Нигде и не написано что оно не может работать при 1 ... текст свёрнут, показать
     
     
  • 10.100, пох. (?), 15:43, 04/12/2020 [^] [^^] [^^^] [ответить]  
  • +/
    ок, _эффективно_ работать - А не опять все залочить и ждать пока как-нибудь са... текст свёрнут, показать
     
     
  • 11.131, nobodynoone (?), 12:47, 05/12/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Таки говно-с Запилил синтетический тест вышеупомянутого первого процесса Рейс ... текст свёрнут, показать
     
     
  • 12.133, nobodynoone (?), 13:26, 05/12/2020 [^] [^^] [^^^] [ответить]  
  • +/
    begin-concurrent даже не самая лучшая их попытка https sqlite org forum forum... текст свёрнут, показать
     
  • 12.134, пох. (?), 14:15, 05/12/2020 [^] [^^] [^^^] [ответить]  
  • +/
    а библиотека-то хоть из ветки begin-concurrent-pnu-wal2 А то мэйнстримную и те... текст свёрнут, показать
     
     
  • 13.135, nobodynoone (?), 14:19, 05/12/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Чувак https www2 sqlite org src doc wal2 doc wal2 md ... текст свёрнут, показать
     
     
  • 14.137, пох. (?), 15:29, 05/12/2020 [^] [^^] [^^^] [ответить]  
  • +/
    ну и Тут нет ни слова про особую, уличную магию, которая дезинтегрирует содержи... текст свёрнут, показать
     
     
  • 15.138, nobodynoone (?), 15:45, 05/12/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Мы опять по-разному читаем Явным же образом говорится Есть конечно вординг в в... большой текст свёрнут, показать
     
     
  • 16.139, пох. (?), 15:55, 05/12/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Там же ж сказано, где вызывается хук Да и сам бы мог его определить да и посмот... текст свёрнут, показать
     
     
  • 17.141, nobodynoone (?), 16:25, 05/12/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Это всё не обяз файнтюнинг Дык да База растёт, никакого файнтюнинга Как и об... большой текст свёрнут, показать
     
     
  • 18.142, nobodynoone (?), 18:39, 05/12/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Короче прогнал ещё раз тест, но с цифрами Сколько удачных ТПС, сколько busy Ко... текст свёрнут, показать
     
     
  • 19.145, пох. (?), 22:35, 05/12/2020 [^] [^^] [^^^] [ответить]  
  • +/
    У меня-то был совсем другой интерес - из независимого процесса доступ Потому чт... текст свёрнут, показать
     
  • 18.144, пох. (?), 22:33, 05/12/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Но можно определить и посмотреть, ноль там или что - и вызывается ли вообще, что... текст свёрнут, показать
     
     
  • 19.146, nobodynoone (?), 09:13, 06/12/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Вовсе не обяз Если установили sqlite3_busy_handler будут до посинения сидеть по... текст свёрнут, показать
     
     
  • 20.147, пох. (?), 12:50, 06/12/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Не, это для фуфлофокса актуально - а я его чинить не планирую, ибо бестолку Кст... текст свёрнут, показать
     
  • 21.148, nobodynoone (?), 13:26, 06/12/2020 [^] [^^] [^^^] [ответить]  
  • +/
    main sqlite на диске Пачка других бд per thread, на диске либо inmem кэш расша... текст свёрнут, показать
     
  • 21.149, nobodynoone (?), 13:53, 06/12/2020 [^] [^^] [^^^] [ответить]  
  • +/
    С этим ещё интереснее Тоже история -- надеялся -- выставлена на вечное хранение... текст свёрнут, показать
     
  • 5.104, Аноним (103), 16:56, 04/12/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Перед базой напиши очередь делов-то на пять копеек.
     
  • 3.60, Аноним (-), 02:10, 04/12/2020 [^] [^^] [^^^] [ответить]  
  • +/
    > через банальную sysV shm+семафоры

    Ничего что у половины поддерживаемых платформ из списка этого тупо нет?

     
     
  • 4.87, пох. (?), 12:07, 04/12/2020 [^] [^^] [^^^] [ответить]  
  • –1 +/
    ничего - на этих кастрированных платформах просто не будет параллельного доступа. Для любителей страдать ничего не изменится.

    там другая беда - оно вряд ли в существующей схеме wal мелкими улучшизмами делается. А трогать общий формат - платиновые не оплатят. Потому что на _их_ половине - таки нет (на самом деле есть и еще какие, но совершенно не posix)

     
  • 2.22, Lex (??), 16:34, 03/12/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Компактности бы.. шоб на 8-битные мк AVR влезала бы :)
     
     
  • 3.27, Аноним (12), 17:24, 03/12/2020 [^] [^^] [^^^] [ответить]  
  • +/
    самую лучшую базу я видел в школе на паскале:

    type
      MyData=record
        ind: integer;
        name: string[7];
      end;

    var
      db: file of MyData;

    всё! read/write/seek уже с нашим типом MyData

     
     
  • 4.28, Cradle (?), 17:30, 03/12/2020 [^] [^^] [^^^] [ответить]  
  • –1 +/
    а как у вас в школе дела с индексами по базе обстояли?
     
     
  • 5.30, НяшМяш (ok), 17:46, 03/12/2020 [^] [^^] [^^^] [ответить]  
  • +3 +/
    так вот же они )


    ind: integer;


     
     
  • 6.123, Аноним (-), 04:53, 05/12/2020 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > так вот же они )
    >

    ind: integer;

    А теперь попробуйте добавить поле. Или поискать по полю отличному от ind. Или ресет при записи нажать. Тогда начнет доходить что так можно было, но - есть нюансы. А у юзеров разные фс с дурацкими свойствами, и вот вы уже идете изобретать свой журнал, если там что-то важное хранилось. И лезете глубоко в системщину вместо вон того.

     
     
  • 7.130, InuYasha (??), 12:43, 05/12/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    ИМХО, это один из тех анонов, что потом эволюционировали в пользователей paradox с предсказуемым результатом. :D :D
     

     ....большая нить свёрнута, показать (59)

  • 1.34, Мира (ok), 18:58, 03/12/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • –3 +/
    Не понимаю, зачем нужны все эти раздутые чудовища, когда есть SQLite. Использую и всем советую.
     
     
  • 2.38, Аноним (12), 19:51, 03/12/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Скажи подобное поттерингам или растаманам, когда есть init.d и сиси++.
     
     
  • 3.41, Мира (ok), 20:14, 03/12/2020 [^] [^^] [^^^] [ответить]  
  • –3 +/
    > Скажи подобное поттерингам или растаманам, когда есть init.d и сиси++.

    А если я скажу, что использую его через rusqlite?

     
     
  • 4.124, Аноним (-), 04:55, 05/12/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Походу не любят тут хипстеров с задолбавшим уже всех дурным пиаром хрустом. Но скулайт по сравнению с остальными SQL весьма даже - мелкий, легкий, необслуживаемый.
     
     
  • 5.127, Мира (ok), 05:43, 05/12/2020 [^] [^^] [^^^] [ответить]  
  • +/
    > Походу не любят тут хипстеров с задолбавшим уже всех дурным пиаром хрустом.

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

     
  • 2.39, Siborgium (ok), 20:12, 03/12/2020 [^] [^^] [^^^] [ответить]  
  • –3 +/
    Я тоже не понимаю, зачем нужны быстрые и масштабируемые базы, когда можно взять SQLite захлебываться на базе в 500 мегабайт.
     
     
  • 3.59, Аноним (-), 02:09, 04/12/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Вообще скулайт может быть довольно быстрым и на базе 500 мегов захлебываться он может только у совсем уж дилетантов. Вот если б вы 50 гигабайт сказали, там может быть кто-то и поверил бы уже. А такие утырки даже к амароку и прочим кдешным адресбукам мускул прут.
     
  • 3.73, Lex (??), 07:17, 04/12/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Действительно, зачем давать возможность каждому приложению обладать своей БД, компактной и неплохо масштабируемой( для большинства задач среднестатистического приложения ) - ведь в каждое приложение можно тянуть по постгресу/мускулу/оракловой_или_мелкомягкой_БД, а то и вообще - зачем приложениям свои БД - пусть хранят все в одной, общей на рабочую станцию, развернутой на чем-то мощном и масштабируемом.. и все кому ни лень чтоб могли лезть туда, что-то писать, что-то читать - авось не сломается.. ну а если сломается, то не беда - всего лишь потеряются данные вообще всех приложений рабочей станции, ведь их все фактически в одной куче хранили :)

    Это к слову о том, что разные продукты годятся для решения разных задач.
    Ну а в случае с "лайтом", так на нем не грех организовать и какую-нибудь БД средненького сайта чем утянуть постгрес или мускул.. особенно, на фоне роста популярности SSD и снижения их стоимости

     
     
  • 4.85, _hide_ (ok), 11:37, 04/12/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Вы подняли очень интересный вопрос: когда можно остановиться и перестать тратить силы на разработку и оптимизацию (в данном случае, не программно/аппаратную оптимизацию, а оптимизацию здравого смысла) и оставить только затраты на управление/маркетинг продукта/решения.
    В идеальном мире ситуация, когда база данных тормозит, должна означать проблему масштабирования, в реальном 99,99% -- ошибка архитектора при разработке конечного приложения и некачественный минимальный внутренний аудит решения по вопросам производительности.
    Когда Вы говорите, что для среднего сайта сойдёт SQLLite и никаких проблем не возникнет, то Вы не учитываете фактор человеческой безграмотности при реализации. Когда 90% запросов это чтение данных, 10% запись протоколов и логов, то тут никаких проблем ни у кого не возникнет (да, придется настроить партиции для оптимизации чтений/записи во времени) до той поры, пока автор-герой просто не сделает таблицу наполняемую данными со скоростью 100RPS и без индексов, а потом весь сайт научит эти данные читать (на всякий случай). Пройдет месяц, год и... Да, пора переходить на MySQL|PG|ORACLE|MSSQL, потому что никто не знает как и почему так сделано, а поменять драйвер базы данных и поправить несколько запросов проще, чем перелопачивать все. Вопрос в том, что данные нужно было либо обслуживать и индексировать, либо сразу хранить в РСУБД. Автор-герой уже давно получил ещё 10-15 проектов в свое резюме, а новые жертвы пока не знают о своем будущем.
    <sarcasm>И какие мы делаем из этого выводы? Правильно! SQLLite тормозит.</sarcasm>
     
     
  • 5.91, пох. (?), 12:19, 04/12/2020 [^] [^^] [^^^] [ответить]  
  • +/
    > пока автор-герой просто не сделает таблицу наполняемую данными со скоростью 100RPS и без индексов

    между нами, девочками - если тебе правда 100RPS - тебе придется смириться с отсутствием обычных индексов (во всяком случае, отличных от primary key) И это одна из неплохих вариаций на тему использования sqlite, ага, у нее накладные расходы на запись минимальные, пожалуй - просто надо заранее думать, как потом читать это будешь и соломку там отдельную стелить - прокси-кэшем обычно, ага.

    И нет, никакой чудо mssql тебя тут не спасет, он тоже, не поверишь, в конечном итоге в файл на диске пишет, а с диска в память читает, никаких таких чудес. А от меганавороченного оптимизатора запросов орацла тебе тут тож никакого щастья.

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

     
     
  • 6.125, Аноним (-), 04:57, 05/12/2020 [^] [^^] [^^^] [ответить]  
  • +/
    На 100rps с сколь-нибудь вменяемым key-value тебе никакой шардинг просто не потребуется. Особенно на SSD.
     
     
  • 7.128, пох. (?), 10:38, 05/12/2020 [^] [^^] [^^^] [ответить]  
  • +/
    угу. оно просто крэшнется, как обычно. Знаем мы этих, "вменяемых".

    Не говоря уже о том, что никто не обещал что там key-value (я вообще слабо представляю, что в эту конструкцию ложится толком), а не банальный лог какой.

     
  • 6.132, _hide_ (ok), 13:18, 05/12/2020 [^] [^^] [^^^] [ответить]  
  • +/
    > между нами, девочками - если тебе правда 100RPS - тебе придется смириться
    > с отсутствием обычных индексов (во всяком случае, отличных от primary key)

    Ну не знаю, 10К RPS MySQL показывает себя вполне прилично. Индексов, кроме простых, конечно не создать, но проблем особых не будет. А SQLLite-у индексы конечно очень мешают.

     
     
  • 7.136, пох. (?), 14:21, 05/12/2020 [^] [^^] [^^^] [ответить]  
  • +/
    > Ну не знаю, 10К RPS MySQL показывает себя вполне прилично. Индексов, кроме
    > простых, конечно не создать, но проблем особых не будет. А SQLLite-у

    я полагаю - на таком паттерне и sqlite у тебя "особых проблем не будет"

    > индексы конечно очень мешают.

    не очень, но таки да, мешают. А если их налепить от балды - то будут мешать уже сильно (как, собственно, и в mysql) Отдельные граждане, у которых оно, помнится, под 40k разгонялось, вместо обычных индексов использовали fts с собственными патчами.

     
  • 2.65, Аноним (65), 02:45, 04/12/2020 [^] [^^] [^^^] [ответить]  
  • +/
    FULL OUTER JOIN
     

  • 1.49, anon3453453 (?), 22:05, 03/12/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    хз как ты на 500мб захлебываешься, у меня база 6гб, из этих 6-ти один гиг постоянно обновляется и перезаписывается, и ничего не виснет. может дело в архитектуре твоей базы и непродуманных запросах?
     
     
  • 2.53, Аноним (52), 23:27, 03/12/2020 [^] [^^] [^^^] [ответить]  
  • +/
    В 1 поток? Дело не хитрое.
     
     
  • 3.55, Likern (?), 00:54, 04/12/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Так это встраиваемая база данных
     
     
  • 4.81, Аноним (12), 10:37, 04/12/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Как "встраиваемость" и потоки соотносятся? Вот у некой проги под названием "Хромой" не только многопоточность, а даже многопроцессность... И как надо разруливать обращения к базе? В 1 поток сталкивать?
     
     
  • 5.99, пох. (?), 15:39, 04/12/2020 [^] [^^] [^^^] [ответить]  
  • +/
    в случае хромога - никак не надо разруливать, базки у него крошечные, структуры данных тривиальные, сложных запросов к ним не делается, да и секундную задержку пользователь на общем фоне даже не увидит, sqlite справится самостоятельно, и даже модныйновый wal2 не понадобится включать.

    А 500G с хотспотом в 100 - да, в один или в неодин но синхронизированный поток, потому что самому разрулить быстрее и эффективнее, чем надеяться на механизмы основанные на flock. Да и на орацла надейся, а йешака привязывать не забывай, поскольку его хитрые оптимизаторы должны будут гадать как у тебя устроена внутренняя логика, а ты - можешь ей просто сам управлять с гарантированными параметрами.

     

  • 1.57, Аноним (-), 02:06, 04/12/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    > Bentley и Bloomberg

    - Какой у SQLite TPS?
    - Достаточный!

     
  • 1.64, СССР (?), 02:43, 04/12/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • –2 +/
    мне нравится склайт, а качестве конфига для приложения, да и небольшого хранилища весьма хороша. не понимаю к чему тут споры.
     
     
  • 2.74, Аноним (74), 08:31, 04/12/2020 [^] [^^] [^^^] [ответить]  
  • +3 +/
    >в качестве конфига для приложения

    ох...

     
     
  • 3.150, СССР (?), 23:29, 06/12/2020 [^] [^^] [^^^] [ответить]  
  • +/
    ну у меня в конфиге хранятся TNS-ки, так же настройки соединений к другим БД по пол.сотни пользователям, весьма удобно.
     
  • 3.152, СССР (?), 23:35, 06/12/2020 [^] [^^] [^^^] [ответить]  
  • +/
    кстати а про конфиг на луа тоже ох? ну охайте ахайте дальше ))
     
  • 2.79, Аноним (12), 10:26, 04/12/2020 [^] [^^] [^^^] [ответить]  
  • +2 +/
    > а качестве конфига для приложения

    а завтраки ты заказываешь на областном мясокомбинате?

     
     
  • 3.101, Lex (??), 16:06, 04/12/2020 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Конфиги - это далеко не всегда пара строк
    К слову о мозилловских или хрОмовых "конфигах"..
     
     
  • 4.102, Аноним (102), 16:40, 04/12/2020 [^] [^^] [^^^] [ответить]  
  • +/
    конфиг сквида, допустим, тоже может быть не в пару строк, если у тебя много адресов и правил к ним. И оно нормально живет с текстовым конфигом

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

     
     
  • 5.106, пох. (?), 17:39, 04/12/2020 [^] [^^] [^^^] [ответить]  
  • +/
    > а если вспоминать мозиллу, то тогда можно вспомнить чистку истории с блокировкой
    > части интерфейса

    в том что у нее _интерфейс_ блокируется (не доступ к базе, а мышь не мышит и декорации не перерисовываются) - тоже sqlite виноват, он обязан любой идиотский запрос обработать мгновенно, даже если там надо половину базы перешерстить, а индекс делала обезьяна?

    а точно-точно не виноваты те самые смузихлебы-пейсатели на хрусте, которых недавно сбросили за борт как ненужный балласт, и их дЭффективные менеджеры, не обеспечившие ежедневных массовых порок за подобную фичу - до момента устранения?

    Тут банального fork() бы хватило как раз, без всяких моднявых тредов. Но вы ж так не умеете.

     
     
  • 6.111, Аноним (102), 18:32, 04/12/2020 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > Тут банального fork() бы хватило как раз

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

    > Но вы ж так не умеете.

    мы умеем по разному. Я вот тему в сторону увел. Лучше расскажите, как вы относитесь к хранению конфигов в sqlite

     
     
  • 7.116, пох. (?), 23:55, 04/12/2020 [^] [^^] [^^^] [ответить]  
  • +/
    > для того чтобы отпустило интерфейс — может быть

    Но они-то _даже_ этого не сделали - оно просто мертво висит, всем браузером. Можно было хотя бы нарисовать модальное окошко "думаю, прошу не мешать" (не говоря уже о том что можно не рисовать его до активации поиска) - но зачем, пороть-то некому.

    > но поиск при наборе от такого точно заблокировался бы

    там в последних версиях был wal, так что даже и это необязательно. И это т-пейшее банальнейшее решение "в лоб", вообще головой не думая. (При апдейте бы заблокировался, если бы из этого поиска произошла попытка открыть страницу, но об этом тоже можно было бы и подумать - если бы кому-то было, чем)

    > Лучше расскажите, как вы относитесь к хранению конфигов в sqlite

    дык, храню.
    Хинт - далеко не все конфиги человекочитаемы в принципе, далеко не все они человеконаписуемы, далеко не все это можно _удобно_ сделать в ini-style.

    Чем это хуже модного-современного хранения их в json? Чем лучше - можете поискать в недрах все той же багзиллы прекрасный баг "при перезапуске браузера окна открываются вместо прежней геометрии в какой-то долбанутой". Я напоролся. Там все прекрасно - и описание, и причина, и невменяемый workaround, и wontfix.

    Это конфиг? Да, самый настоящий - конфигурацию окошек и табов браузера содержит.
    Пользователю есть что там делать? Очевидно, нет, он этот конфиг "редактирует", открывая окошки и закрывая табы.

     
  • 7.126, Аноним (-), 04:59, 05/12/2020 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > для того чтобы отпустило интерфейс — может быть, но поиск при наборе
    > от такого точно заблокировался бы

    Что, тредов в ваше сельпо до сих пор не завезли? Что у вас там за ОС?

     
     
  • 8.129, пох. (?), 10:41, 05/12/2020 [^] [^^] [^^^] [ответить]  
  • +/
    О, вот и современный разработчик пожаловал Как смузи, какие кедики модно этой з... текст свёрнут, показать
     
  • 5.112, Lex (??), 19:37, 04/12/2020 [^] [^^] [^^^] [ответить]  
  • +/

    > а если вспоминать мозиллу, то тогда можно вспомнить чистку истории с блокировкой
    > части интерфейса

    Очень интересно. А если данные в текущий момент (!) меняются, то о какой актуальности работы с ними( поиск по истории и проч ) можно говорить ?

    Касательно подвисания интерфейса - это, скорее, просто непродуманность, ведь даже лоадера/спиннера не появляется.
    Лень лезть в код, но есть смутное подозрение, что удаление происходит  по одной записи в цикле, ведь полная чистка какой-либо таблицы - обычно весьма быстрая задача

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

     
     
  • 6.117, пох. (?), 00:07, 05/12/2020 [^] [^^] [^^^] [ответить]  
  • +/
    > А если данные в текущий момент (!) меняются, то о какой актуальности работы с ними( поиск по
    > истории и проч ) можно говорить ?

    Ну нажал я "удалить" на nsfw.com - и что - мне нельзя теперь посмотреть на остальную историю? Причем уже прочитанную и вероятнее всего закэшированную в памяти. Что ужасного может случиться в этот момент, от того что там что-то удаляется? sqlite, кстати, вполне бы это позволила, подумаешь, write lock - только там нет автомагии, она signle-thread если ты сам не позаботился о другом.

    Чтобы удалить все связанное с хостом - надо найти поштучно записи по этому хосту, обновить СЕМЬ разных индексов, и это только для одной таблицы - а там их десятка полтора.

     
  • 3.151, СССР (?), 23:33, 06/12/2020 [^] [^^] [^^^] [ответить]  
  • +/
    я не понимаю ваш юмор. На завтрак я пью кофе , после овсяную кашу. А свою дырку в морде попрошу не разевать, если же пытались подколоть )
     

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



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

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