The OpenNET Project / Index page

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

Доступен Dqlite 1.0, распределённый вариант SQLite от компании Canonical

01.09.2019 11:11

Компания Canonical опубликовала значительный выпуск проекта Dqlite 1.0 (Distributed SQLite), развивающего совместимый с SQLite встраиваемый SQL-движок, поддерживающий репликацию данных, автоматическое восстановление после сбоев и обеспечение отказоустойчивости через разнесение обработчиков на несколько узлов. СУБД реализована в форме прикрепляемой к приложениям Си-библиотеки и распространяется под лицензией Apache 2.0 (оригинальный SQLite поставляется как общественное достояние). Доступны биндинги для языка Go.

Библиотека является надстройкой над существующей кодовой базой SQLite, которая добавляет поддержку сетевого протокола для связывания между собой нескольких экземпляров приложения, запущенных на разных хостах. Собранное с Dqlite приложение может функционировать как самодостаточный отказоустойчивый кластер, не зависящий от внешних СУБД. На практике Dqlite используется компанией Canonical в системе управления контейнерами LXD. Среди областей применения библиотеки также упоминается создание отказоустойчивых устройств интернета-вещей и обработчиков в системах Edge-вычислений.

Для обеспечения непротиворечивости при репликации данных применяется метод достижения консенсуса на базе алгоритма Raft, который используется в таких проектах, как etcd, RethinkDB, CockroachDB и OpenDaylight. В Dqlite применяется собственная асинхронная реализация C-raft, написанная на языке Си. Для мультиплексирования обработки соединений и организации запуска сопрограмм используются готовые библиотеки libuv и libco.

По сравнению с похожим проектом rqlite, Dqlite обеспечивает полную поддержку транзакций, может связываться с любыми проектами на языке Си, позволяет использовать функцию time() и применяет репликацию на основе кадров вместо репликации на основе трансляции SQL-выражений.

Особенности Dqlite:

  • Выполнение всех дисковых и сетевых операций в асинхронном режиме;
  • Наличие тестового набора для подтверждения корректности данных;
  • Низкое потребление памяти и эффективный обмен данными по сети;
  • Постоянное хранение на диске БД и лога транзакций (c возможностью кэширования в памяти);
  • Быстрое восстановление после сбоев;
  • Стабильный CLI-клиент на языке Go, который можно использовать для инициализации БД, настройки репликации и подключения/отключения узлов;
  • Поддержка архитектур ARM, X86, POWER и IBM Z;
  • Реализация алгоритма Raft оптимизирована для минимизации задержек при фиксации транзакций.


  1. Главная ссылка к новости (https://github.com/canonical/d...)
  2. OpenNews: Представлена новая техника эксплуатации уязвимостей в SQLite
  3. OpenNews: Удалённо эксплуатируемая уязвимость в SQLite, затрагивающая браузеры на базе Chromium
  4. OpenNews: В рамках проекта LiteTree развивается вариант SQLite с поддержкой ветвления БД
  5. OpenNews: Создатели CouchDB и SQLite представили UnQL, аналог SQL для систем NoSQL
  6. OpenNews: Выпуск встраиваемой СУБД Sophia 2.2
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/51402-sqlite
Ключевые слова: sqlite, dqlite
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (68) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, user90 (?), 12:17, 01/09/2019 [ответить] [﹢﹢﹢] [ · · · ]  
  • –4 +/
    .. проекта, который ждет та же судьба, что и Mir с Upstart'ом? ;)
     
     
  • 2.19, Аноним (19), 14:38, 01/09/2019 [^] [^^] [^^^] [ответить]  
  • –3 +/
    Разумеется. Это ж абанто-вей: найти фатальный недостаток, запилить аналог, забросить его и рыдать о непонятом гении.
     
     
  • 3.21, user90 (?), 14:59, 01/09/2019 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Альтернативы - это неплохо, про "фатальный недостаток" вообще мимо. В остальном что-то типа того. А скорее всего, просто накладно поддерживать и развивать самим.
     
  • 2.64, 123 (??), 13:11, 02/09/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Mir с Upstart'ом живут и здравствуют, то что их нет в вашем уютном мирке это уже ваше дело.
    https://www.opennet.ru/opennews/art.shtml?num=51274
    https://www.opennet.ru/opennews/art.shtml?num=49314
     

  • 1.2, ZXC (?), 12:18, 01/09/2019 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Похоже разработчики этой фигни вообще не понимают что такое sqlite. Это встраиваемая в приложение БД, что есть строгое противоположность того что ни учудили. Решили выехать на бренде sqlite.
     
     
  • 2.4, Аноним (4), 12:21, 01/09/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Это встраиваемая бд для организации связности нескольких экземпляров - нужно для децентрализованных приложений.
     
  • 2.9, IRASoldier_registered (ok), 12:58, 01/09/2019 [^] [^^] [^^^] [ответить]  
  • +4 +/
    "(...) надстройкой над существующей кодовой базой SQLite, которая добавляет поддержку сетевого протокола для связывания между собой нескольких экземпляров приложения, запущенных на разных хостах."

    Какая же это "строгая противоположность"? Это расширение.

     
     
  • 3.10, A.Stahl (ok), 13:21, 01/09/2019 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Модуль съёмных крыльев для трактора тоже остаётся модулем хотя и меняет суть трактора на "строго противоположное".
     
     
  • 4.12, IRASoldier_registered (ok), 13:40, 01/09/2019 [^] [^^] [^^^] [ответить]  
  • +5 +/
    > Модуль съёмных крыльев для трактора тоже остаётся модулем хотя и меняет суть
    > трактора на "строго противоположное".

    Яркая образная аналогия != корректная аналогия.

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

     
  • 3.18, kai3341 (ok), 14:30, 01/09/2019 [^] [^^] [^^^] [ответить]  
  • –2 +/
    > Какая же это "строгая противоположность"? Это расширение.

    Два чаю вам. Это расширение sqlite для специяических кейсов.

    Предлагается кластер на базе IoT... То есть холодильник с телевизором будут сплетничать через единую самореплицирующуюса БД. Восстаное машин, которое мы заслужили :D

    В любом случае наличие альтернативы лучше её отсутствия.

     
     
  • 4.50, gsdh (?), 05:14, 02/09/2019 [^] [^^] [^^^] [ответить]  
  • +2 +/
    > В любом случае наличие альтернативы лучше её отсутствия.

    Далеко не всегда, на ютубе куча роликов на эту тему, 2+2=22, например.

     
  • 4.69, IRASoldier_registered (ok), 21:06, 02/09/2019 [^] [^^] [^^^] [ответить]  
  • –1 +/
    >холодильник с телевизором будут сплетничать через единую самореплицирующуюса БД. Восстаное машин, которое мы заслужили :D

    "Тыц-тыц холодильник, тыц-тыц телевизор..." (с) песенка Фиксиков

     
  • 2.34, KonstantinB (ok), 20:18, 01/09/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Вовсе не противоположность, а расширение. Выделенного сервера тут нет, и сеть не обязательна.
    В общем, если провести аналогию, то классические клиент-серверные РСУБД - это как svn, а тут сделали как git.
     

  • 1.3, Аноним (4), 12:20, 01/09/2019 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Годнота от каноникл? Давно не было...приятно.
     
     
  • 2.14, Аноним (14), 14:10, 01/09/2019 [^] [^^] [^^^] [ответить]  
  • +1 +/
    >Давно не было...

    Никогда не было, пофиксил тебя.

     
  • 2.17, Аноним (17), 14:13, 01/09/2019 [^] [^^] [^^^] [ответить]  
  • –3 +/
    >  Стабильный CLI-клиент на языке Go, который можно использовать для инициализации БД, настройки репликации и подключения/отключения узлов;

    закапывайте

     
     
  • 3.25, funny.falcon (?), 15:58, 01/09/2019 [^] [^^] [^^^] [ответить]  
  • +1 +/
    CLI должен быть только на Bash и Perl? Какая тебе разница, на чём консольная утилита написана?
     
     
  • 4.42, пох. (?), 21:38, 01/09/2019 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > CLI должен быть только на Bash и Perl? Какая тебе разница, на

    cli точно не должен быть ни на одном из тех языков (а в sqlite их не один) на котором написан весь остальной код. Был бы на tcl - можно было бы поудивляться и принять как данность.
    Значит, его писание либо доверили совсем бестолковым пион...нецветочкам,запрещенным на опеннете, либо, что значительно более вероятно, целиком вся шобла разработчиков каноникла - вот такие макаки и есть.

    To build libdqlite from source you'll need:

        A reasonably recent version of libuv (v1.8.0 or beyond).
        A patched version of SQLite with support for WAL-based replication.
        A build of the C-raft Raft library.
        A build of the libco coroutine library.
    понатащили первых показавшихся подходящими готовых либ, кое-как это собрали (а поскольку не собиралось - что-то как-то по живому попатчили в коде, непонятно даже, каком, поскольку оригинал не в гитляпе и не гитшляпе, а тут клон хз чего), а, ну да, нужен же cli - ну ща, быстро-быстро наляпаем на чем умеем.

     

  • 1.5, Аноним (5), 12:25, 01/09/2019 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    > Собранное с Dqlite приложение может функционировать как самодостаточный отказоустойчивый кластер,

    Погодите, они сделали из бессерверной БД... серверную? Что?

     
     
  • 2.6, Аноним (4), 12:28, 01/09/2019 [^] [^^] [^^^] [ответить]  
  • +3 +/
    скорее p2p-шную
     
  • 2.31, Олололо (?), 16:20, 01/09/2019 [^] [^^] [^^^] [ответить]  
  • +/
    В докер контейнерах вполне может быть востребована.
     

  • 1.7, Аноним (7), 12:37, 01/09/2019 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Каноникал откажется развивать проект не позже, чем 1-го января 2022 года.

    Запомните этот твит.

     
     
  • 2.8, user90 (?), 12:44, 01/09/2019 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Если не удастся пропихнуть, окажется "не модным", то так оно и будет. Как всегда и было до этого.
     
     
  • 3.22, Аноним (22), 15:01, 01/09/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Угу. Но чутка жаль.

    Интересно, что у них такое есть, от чего оно так.

     

  • 1.11, Аноним (11), 13:28, 01/09/2019 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    типа lite-mnesia
     
     
  • 2.20, kai3341 (ok), 14:54, 01/09/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Спасибо! Вы помогли мне понять, что происходит под капотом RabbitMQ
     

  • 1.16, пох. (?), 14:13, 01/09/2019 [ответить] [﹢﹢﹢] [ · · · ]  
  • –5 +/
    > Стабильный CLI-клиент на языке Go

    расходимся. Ниасилили даже попатчить нормальный sqlite'овский клиент. Все что нужно знать об этом ненужно.

     
     
  • 2.23, Аноним (23), 15:53, 01/09/2019 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Судя по

    > который можно использовать для инициализации БД, настройки репликации и подключения/отключения узлов;

    этот клиент лишь для сего и используется. Если хочется работать с базой как с обычной sqlite, то так с ней и работаете.

     
     
  • 3.35, пох. (?), 20:55, 01/09/2019 [^] [^^] [^^^] [ответить]  
  • –2 +/
    я и говорю - ненужно, расходимся.

    Вместо добавления трех функций в существующий неплохой и удобочитаемый код - ниосиляторы написали целый отдельный cli на нескучном язычке (требующий блоб компилятора нескучного язычка только для сборки компилятора, и, вероятно, тащащий за собой пол-интернета зависимостей, поскольку вряд ли ЭТИ умеют иначе)

    что сразу говорит и об их квалификации, и об их подходе.

     
     
  • 4.47, gogo (?), 00:32, 02/09/2019 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Плюсанул.
    Если это "вариант sqlite", то сделайте его в стиле sqlite.
    sqlite популярен из-за простоты, нетребовательности и совместимости со всем, что в голову придет.
    Обвешали свиристелками по самые помидоры - кому такое громадьё нужно будет?
     
     
  • 5.59, пох. (?), 09:38, 02/09/2019 [^] [^^] [^^^] [ответить]  
  • +/
    > Если это "вариант sqlite", то сделайте его в стиле sqlite.

    есть миллион уважительных причин так не cделать в конкретном случае - но написание вшивого cli на модном йезычке - явно не из этого списка (и уж явно не эти люди решат какую-то из тех задач).

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

     
  • 4.58, Аноним (58), 09:25, 02/09/2019 [^] [^^] [^^^] [ответить]  
  • +2 +/
    > я и говорю - ненужно, расходимся.

    Всем было бы только лучше, если бы ты, прочитав об очередном, по твоему мнению «ненужно», действительно ушёл, а не высказывал тут своё сверхценное мнение, тем более что его и так уже все заранее знают.

     
  • 2.63, мяя (?), 13:07, 02/09/2019 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Глупый вскукарек от того кому данное решение не нужно было бы даже в случае если там был клиент "по феншую", то есть тебе лишь бы придраться и вкускарекнуть о "нинужно!!!".
    Кому технология действительно нужна плевать на чём написан CLI-клиент. Тем более если разобраться то голанг не тащит никаких зависимостей.
     

  • 1.24, Аноним (24), 15:58, 01/09/2019 [ответить] [﹢﹢﹢] [ · · · ]  
  • –2 +/
    >СУБД реализована в форме прикрепляемой к приложениям Си-библиотеки

    Так Rust же лучше или нет?

     
     
  • 2.28, funny.falcon (?), 16:02, 01/09/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Как язык, лучше. Но для С не нужен «ещё один компилятор».
     

  • 1.26, index0h (ok), 15:59, 01/09/2019 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    Распределенная встраиваемая БД, звучит как оксюморон.
     
     
  • 2.29, funny.falcon (?), 16:06, 01/09/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Если нужно распределенное приложение без левых (или правых) зависимостей, то почему нет?

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

     
     
  • 3.43, index0h (ok), 22:05, 01/09/2019 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Дык весь смысл же теряется. Как только требуется распределение данных - внешние БД все равно являются внешними серверами, хоть они куда-то там встроены, хоть нет.
     
  • 3.44, Аноним (44), 22:40, 01/09/2019 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Докер берут если не хочется левых (лишних) людей.
     
     
  • 4.70, тигар (ok), 22:21, 03/09/2019 [^] [^^] [^^^] [ответить]  
  • +1 +/
    да? а девопсики, по этой логике, становятся (внезапно) правыми и не лишними? вотэтоповорот.жпг
     

  • 1.27, Аноним (24), 16:01, 01/09/2019 [ответить] [﹢﹢﹢] [ · · · ]  
  • –2 +/
    >СУБД реализована в форме прикрепляемой к приложениям Си-библиотеки

    Так Rust же лучше или нет?

     
  • 1.30, Аноним (30), 16:11, 01/09/2019 [ответить] [﹢﹢﹢] [ · · · ]  
  • +3 +/
    А мне - понравилось сама идея dqlite и rqlite Ни разу не слышал о таких хотя ... большой текст свёрнут, показать
     
     
  • 2.32, ыы (?), 18:48, 01/09/2019 [^] [^^] [^^^] [ответить]  
  • +/
    > пофиг кодировки

    А что вы делаете с русской кодировкой которую записали в базу но не в UTF-8?

     
     
  • 3.36, пох. (?), 20:57, 01/09/2019 [^] [^^] [^^^] [ответить]  
  • +/
    не использует collate, делов-то.

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

     
     
  • 4.37, ыы (?), 21:01, 01/09/2019 [^] [^^] [^^^] [ответить]  
  • +/
    а сортировку оно потом как делает?
     
     
  • 5.53, Аноним (53), 08:32, 02/09/2019 [^] [^^] [^^^] [ответить]  
  • +2 +/
    sqlite3 хранит в utf8 Эта кодировка точнее набор символов, ну вы поняли - поз... большой текст свёрнут, показать
     
  • 4.38, ыы (?), 21:01, 01/09/2019 [^] [^^] [^^^] [ответить]  
  • +/
    а с образцом оно потом как сопоставляет?
     
     
  • 5.40, пох. (?), 21:29, 01/09/2019 [^] [^^] [^^^] [ответить]  
  • +/
    как двоичные данные, в чем проблема-то? У sqlite полный пофигизм к тому, что оно считает "строками", лишь бы binary null не попадались.
    И все данные в таблице - строки ;-)

     
  • 4.39, ыы (?), 21:04, 01/09/2019 [^] [^^] [^^^] [ответить]  
  • +/
    а верхний-нижний регистр оно потом как преобразовавает?
     
     
  • 5.41, пох. (?), 21:29, 01/09/2019 [^] [^^] [^^^] [ответить]  
  • +/
    никак. Оно далеко не всем и надо.

     
  • 3.46, Онаним (?), 22:50, 01/09/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Что значит что делаем? Не используем. От слова "совсем". Только UTF, только хардкор.
    Я думал "запись русской кодировки в базу не в UTF8" уже давно уделом школоты стала. Ан нет ж.
     
  • 2.33, ыы (?), 18:55, 01/09/2019 [^] [^^] [^^^] [ответить]  
  • +/
    >30 писаний, 300 читаний

    А как решаете вопрос с версионной согласованностью?

     
     
  • 3.51, Аноним (53), 08:03, 02/09/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Никак. Файл базы - один, им пользуются. SQLite позволяет один поток записи или 4 потока чтения, остальные ловят таймаут 5 сек. Большинство юзает базу через ODBC, часть через JDBC, а часть из Python встроенной библиотекой, которая на INSERT быстрее чем sqlite3.exе.  
     
  • 2.48, gogo (?), 00:46, 02/09/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Я вот ХЗ что это у ваз за "интерпрайз" такой, что 50 человек имеютдоступ к 5 базам 1с за 20 лет.
    Может у вас и нет там ничего секретного, может где-то так и бывает...
    Но больше всего меня коробит от мысли, что все они могут менять данные, которые для них не предназначены.
     
     
  • 3.52, Аноним (53), 08:11, 02/09/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Вы правы - в базах 1С менять ничего нельзя. А вот в SQLite таблице, содержащей все проводки из 1С за 20 лет - можно и даже нужно. Ведь только так можно превратить 20 разных вариантов написания названия, скажем 203-го подшипника, и сделать это в отношении 10 тыс. позиций номенклатуры. И тогда можно запросы поручить писать девочкам, без регулярок и километровых IN()
     
     
  • 4.55, Гентушник (ok), 08:38, 02/09/2019 [^] [^^] [^^^] [ответить]  
  • +/
    А вы данные из этой sqlite-базы в 1С потом обратно загружаете или у вас идёт только односторонняя выгрузка 1С->sqlite только для построения отчётов?
     
     
  • 5.56, Аноним (53), 09:10, 02/09/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Односторонне, в основном для отчетов по "нормализованным" данным. Некоторые отчеты, например XLS/DOC/ODT/ODS - сами порождают записи в SQLite через ODBC (http://www.ch-werner.de/), например автоматический номер договора или исходящего письма, сделанные на основе шаблона. Но при разовой миграции 1С77-1С83 - использовали нормализованные данные из SQLite.    
     
  • 3.54, Гентушник (ok), 08:36, 02/09/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Раз база просто валяется на шаре в r/w, то эту базу ещё и попортить можно случайно или специально.
     
     
  • 4.57, Аноним (53), 09:13, 02/09/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Такое возможно и даже один раз случилось. SSD ушел в RO с TRIM. Файл помер полностью. 4-х часовой бэкап был - и лошадь снова на ногах.
     

  • 1.45, Онаним (?), 22:48, 01/09/2019 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Хохо, что-то годное, судя по описанию, надо будет потрогать. Если работает не через пень-колоду, как это обычно бывает с такими проектами: здесь завалилось, вот здесь не трогать ни в коем случае, ещё вот здесь known bug, а здесь рыбу заворачивали - я уже знаю этой штуке офигеннейшее применение.
     
     
  • 2.49, gogo (?), 00:51, 02/09/2019 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Ничего. Если будет заваливаться - они напишут утилиту для сваливания обратно в кучу. на го, конечно )
    Ну и, конечно, всякие бинлоги и лок-файлы полюбасу трогать нельзя будет. Ибо это же не sql-сервер, тут грязно-рыбными руками  нельзя ))
     
  • 2.72, Аноним (72), 16:08, 04/09/2019 [^] [^^] [^^^] [ответить]  
  • +/
    годное. я недавно потерял целый кластер из-за взаимоблокировки трех инстансов. контейнеры есть - а достучаться до них через LXD интерфейс - невозможно. пришлось руками доставать оттуда данные. и переподнимать все из бэкапов.
     

  • 1.60, odin314 (ok), 10:12, 02/09/2019 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Лучше бьі пофиксили  fcntl  file locking для NFS
     
  • 1.71, Аноним (72), 15:25, 04/09/2019 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    отличная штука. то-то в багтрекере по LXD кластеру, вагон и телега багов, связанных с глюками этого поделия.
     
     
  • 2.73, пох. (?), 10:43, 05/09/2019 [^] [^^] [^^^] [ответить]  
  • +/
    где ж ты раньше был - а тут всерьез обсуждали-спорили. Некоторые аж почти сами себя убедили, что у каюкинга или как там они может быть что-то "годное". А не слепили из дерьма и палок и кривых обезьянко-либ на модном raft гибрид ежа с ужом, как оно, очевидно, и есть.

    но вот поляну жаль...

     
     
  • 3.74, Аноним (72), 12:27, 05/09/2019 [^] [^^] [^^^] [ответить]  
  • +/
    да я сам почти поверил :) и потерял продакшен кластер. 4 часа даунтайма и откат всего на bare metal из бэкапов. не сильный продакшен, потери не велики, но теперь я эту поделку ни для чего, кроме тестирования на десктопе использовать не буду.
     

  • 1.75, Аноним (75), 22:52, 05/09/2019 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Подскажите, а можно встроить sqlite3 так в приложение на C++, чтобы была доступна родная командная строка sqlite3. По аналогии с интерпретатором луа. Цель при запуски программы на С++ распарсить логи, в SQL, а потом делать по ним запросы.
     
  • 1.76, Petr (??), 00:14, 06/09/2019 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    DSQLite Cloud offering provides unparallelled scalability, compliance, operational security, seamless integration, and TCO value for enterprises of any size. Book a call with our sales representative now!
     

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



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

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