The OpenNET Project / Index page

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



"Доступен Dqlite 1.0, распределённый вариант SQLite от компан..."
Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Изначальное сообщение [ Отслеживать ]

"Доступен Dqlite 1.0, распределённый вариант SQLite от компан..."  +/
Сообщение от opennews (?), 01-Сен-19, 12:17 
Компания Canonical опубликовала (https://github.com/canonical/dqlite/releases/tag/v1.0.0) значительный выпуск проекта Dqlite 1.0 (https://dqlite.io/) (Distributed SQLite), развивающего совместимый с SQLite  встраиваемый SQL-движок, поддерживающий репликацию данных, автоматическое восстановление после сбоев и обеспечение отказоустойчивости через разнесение обработчиков на несколько узлов. СУБД реализована в форме прикрепляемой к приложениям Си-библиотеки и распространяется (https://github.com/canonical/dqlite) под лицензией Apache 2.0 (оригинальный SQLite поставляется как общественное достояние). Доступны биндинги для языка Go (https://github.com/canonical/go-dqlite).


Библиотека является надстройкой над существующей кодовой базой SQLite, которая добавляет поддержку сетевого протокола для связывания между собой нескольких экземпляров приложения, запущенных на разных хостах. Собранное с  Dqlite приложение может функционировать как самодостаточный отказоустойчивый кластер, не зависящий от внешних СУБД. На практике Dqlite используется компанией Canonical в системе управления контейнерами LXD (https://www.opennet.ru/opennews/art.shtml?num=44228). Среди областей применения библиотеки также упоминается создание отказоустойчивых устройств интернета-вещей и обработчиков в системах
Edge (https://www.opennet.ru/opennews/art.shtml?num=48372)-вычислений (https://www.opennet.ru/opennews/art.shtml?num=51077).


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


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


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


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

URL: https://github.com/canonical/dqlite/releases
Новость: https://www.opennet.ru/opennews/art.shtml?num=51402

Ответить | Правка | Cообщить модератору

Оглавление

Сообщения [Сортировка по времени | RSS]


1. "Доступен Dqlite 1.0, распределённый вариант SQLite от компан..."  –4 +/
Сообщение от user90 (?), 01-Сен-19, 12:17 
.. проекта, который ждет та же судьба, что и Mir с Upstart'ом? ;)
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

19. "Доступен Dqlite 1.0, распределённый вариант SQLite от компан..."  –3 +/
Сообщение от Аноним (19), 01-Сен-19, 14:38 
Разумеется. Это ж абанто-вей: найти фатальный недостаток, запилить аналог, забросить его и рыдать о непонятом гении.
Ответить | Правка | ^ к родителю #1 | Наверх | Cообщить модератору

21. "Доступен Dqlite 1.0, распределённый вариант SQLite от компан..."  +1 +/
Сообщение от user90 (?), 01-Сен-19, 14:59 
Альтернативы - это неплохо, про "фатальный недостаток" вообще мимо. В остальном что-то типа того. А скорее всего, просто накладно поддерживать и развивать самим.
Ответить | Правка | ^ к родителю #19 | Наверх | Cообщить модератору

64. "Доступен Dqlite 1.0, распределённый вариант SQLite от компан..."  +/
Сообщение от 123 (??), 02-Сен-19, 13:11 
Mir с Upstart'ом живут и здравствуют, то что их нет в вашем уютном мирке это уже ваше дело.
https://www.opennet.ru/opennews/art.shtml?num=51274
https://www.opennet.ru/opennews/art.shtml?num=49314
Ответить | Правка | ^ к родителю #1 | Наверх | Cообщить модератору

2. "Доступен Dqlite 1.0, распределённый вариант SQLite от компан..."  +1 +/
Сообщение от ZXC (?), 01-Сен-19, 12:18 
Похоже разработчики этой фигни вообще не понимают что такое sqlite. Это встраиваемая в приложение БД, что есть строгое противоположность того что ни учудили. Решили выехать на бренде sqlite.
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

4. "Доступен Dqlite 1.0, распределённый вариант SQLite от компан..."  +/
Сообщение от Аноним (4), 01-Сен-19, 12:21 
Это встраиваемая бд для организации связности нескольких экземпляров - нужно для децентрализованных приложений.
Ответить | Правка | ^ к родителю #2 | Наверх | Cообщить модератору

9. "Доступен Dqlite 1.0, распределённый вариант SQLite от компан..."  +4 +/
Сообщение от IRASoldier_registered (ok), 01-Сен-19, 12:58 
"(...) надстройкой над существующей кодовой базой SQLite, которая добавляет поддержку сетевого протокола для связывания между собой нескольких экземпляров приложения, запущенных на разных хостах."

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

Ответить | Правка | ^ к родителю #2 | Наверх | Cообщить модератору

10. "Доступен Dqlite 1.0, распределённый вариант SQLite от компан..."  +2 +/
Сообщение от A.Stahl (ok), 01-Сен-19, 13:21 
Модуль съёмных крыльев для трактора тоже остаётся модулем хотя и меняет суть трактора на "строго противоположное".
Ответить | Правка | ^ к родителю #9 | Наверх | Cообщить модератору

12. "Доступен Dqlite 1.0, распределённый вариант SQLite от компан..."  +5 +/
Сообщение от IRASoldier_registered (ok), 01-Сен-19, 13:40 
> Модуль съёмных крыльев для трактора тоже остаётся модулем хотя и меняет суть
> трактора на "строго противоположное".

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

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

Ответить | Правка | ^ к родителю #10 | Наверх | Cообщить модератору

18. "Доступен Dqlite 1.0, распределённый вариант SQLite от компан..."  –2 +/
Сообщение от kai3341 (ok), 01-Сен-19, 14:30 
> Какая же это "строгая противоположность"? Это расширение.

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

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

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

Ответить | Правка | ^ к родителю #9 | Наверх | Cообщить модератору

50. "Доступен Dqlite 1.0, распределённый вариант SQLite от компан..."  +2 +/
Сообщение от gsdh (?), 02-Сен-19, 05:14 
> В любом случае наличие альтернативы лучше её отсутствия.

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

Ответить | Правка | ^ к родителю #18 | Наверх | Cообщить модератору

69. "Доступен Dqlite 1.0, распределённый вариант SQLite от компан..."  –1 +/
Сообщение от IRASoldier_registered (ok), 02-Сен-19, 21:06 
>холодильник с телевизором будут сплетничать через единую самореплицирующуюса БД. Восстаное машин, которое мы заслужили :D

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

Ответить | Правка | ^ к родителю #18 | Наверх | Cообщить модератору

34. "Доступен Dqlite 1.0, распределённый вариант SQLite от компан..."  +/
Сообщение от KonstantinB (ok), 01-Сен-19, 20:18 
Вовсе не противоположность, а расширение. Выделенного сервера тут нет, и сеть не обязательна.
В общем, если провести аналогию, то классические клиент-серверные РСУБД - это как svn, а тут сделали как git.
Ответить | Правка | ^ к родителю #2 | Наверх | Cообщить модератору

3. "Доступен Dqlite 1.0, распределённый вариант SQLite от компан..."  +1 +/
Сообщение от Аноним (4), 01-Сен-19, 12:20 
Годнота от каноникл? Давно не было...приятно.
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

14. "Доступен Dqlite 1.0, распределённый вариант SQLite от компан..."  +1 +/
Сообщение от Аноним (14), 01-Сен-19, 14:10 
>Давно не было...

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

Ответить | Правка | ^ к родителю #3 | Наверх | Cообщить модератору

17. "Доступен Dqlite 1.0, распределённый вариант SQLite от компан..."  –3 +/
Сообщение от Аноним (17), 01-Сен-19, 14:13 
>  Стабильный CLI-клиент на языке Go, который можно использовать для инициализации БД, настройки репликации и подключения/отключения узлов;

закапывайте

Ответить | Правка | ^ к родителю #3 | Наверх | Cообщить модератору

25. "Доступен Dqlite 1.0, распределённый вариант SQLite от компан..."  +1 +/
Сообщение от funny.falcon (?), 01-Сен-19, 15:58 
CLI должен быть только на Bash и Perl? Какая тебе разница, на чём консольная утилита написана?
Ответить | Правка | ^ к родителю #17 | Наверх | Cообщить модератору

42. "Доступен Dqlite 1.0, распределённый вариант SQLite от компан..."  –1 +/
Сообщение от пох. (?), 01-Сен-19, 21:38 
> 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 - ну ща, быстро-быстро наляпаем на чем умеем.

Ответить | Правка | ^ к родителю #25 | Наверх | Cообщить модератору

5. "Доступен Dqlite 1.0, распределённый вариант SQLite от компан..."  +1 +/
Сообщение от Аноним (5), 01-Сен-19, 12:25 
> Собранное с Dqlite приложение может функционировать как самодостаточный отказоустойчивый кластер,

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

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

6. "Доступен Dqlite 1.0, распределённый вариант SQLite от компан..."  +3 +/
Сообщение от Аноним (4), 01-Сен-19, 12:28 
скорее p2p-шную
Ответить | Правка | ^ к родителю #5 | Наверх | Cообщить модератору

31. "Доступен Dqlite 1.0, распределённый вариант SQLite от компан..."  +/
Сообщение от Олололо (?), 01-Сен-19, 16:20 
В докер контейнерах вполне может быть востребована.
Ответить | Правка | ^ к родителю #5 | Наверх | Cообщить модератору

7. "Доступен Dqlite 1.0, распределённый вариант SQLite от компан..."  +/
Сообщение от Аноним (7), 01-Сен-19, 12:37 
Каноникал откажется развивать проект не позже, чем 1-го января 2022 года.

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

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

8. "Доступен Dqlite 1.0, распределённый вариант SQLite от компан..."  –1 +/
Сообщение от user90 (?), 01-Сен-19, 12:44 
Если не удастся пропихнуть, окажется "не модным", то так оно и будет. Как всегда и было до этого.
Ответить | Правка | ^ к родителю #7 | Наверх | Cообщить модератору

22. "Доступен Dqlite 1.0, распределённый вариант SQLite от компан..."  +/
Сообщение от Аноним (22), 01-Сен-19, 15:01 
Угу. Но чутка жаль.

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

Ответить | Правка | ^ к родителю #8 | Наверх | Cообщить модератору

11. "Доступен Dqlite 1.0, распределённый вариант SQLite от компан..."  +1 +/
Сообщение от Аноним (11), 01-Сен-19, 13:28 
типа lite-mnesia
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

20. "Доступен Dqlite 1.0, распределённый вариант SQLite от компан..."  +/
Сообщение от kai3341 (ok), 01-Сен-19, 14:54 
Спасибо! Вы помогли мне понять, что происходит под капотом RabbitMQ
Ответить | Правка | ^ к родителю #11 | Наверх | Cообщить модератору

16. "Доступен Dqlite 1.0, распределённый вариант SQLite от компан..."  –5 +/
Сообщение от пох. (?), 01-Сен-19, 14:13 
> Стабильный CLI-клиент на языке Go

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

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

23. "Доступен Dqlite 1.0, распределённый вариант SQLite от компан..."  +1 +/
Сообщение от Аноним (23), 01-Сен-19, 15:53 
Судя по

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

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

Ответить | Правка | ^ к родителю #16 | Наверх | Cообщить модератору

35. "Доступен Dqlite 1.0, распределённый вариант SQLite от компан..."  –2 +/
Сообщение от пох. (?), 01-Сен-19, 20:55 
я и говорю - ненужно, расходимся.

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

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

Ответить | Правка | ^ к родителю #23 | Наверх | Cообщить модератору

47. "Доступен Dqlite 1.0, распределённый вариант SQLite от компан..."  –1 +/
Сообщение от gogo (?), 02-Сен-19, 00:32 
Плюсанул.
Если это "вариант sqlite", то сделайте его в стиле sqlite.
sqlite популярен из-за простоты, нетребовательности и совместимости со всем, что в голову придет.
Обвешали свиристелками по самые помидоры - кому такое громадьё нужно будет?
Ответить | Правка | ^ к родителю #35 | Наверх | Cообщить модератору

59. "Доступен Dqlite 1.0, распределённый вариант SQLite от компан..."  +/
Сообщение от пох. (?), 02-Сен-19, 09:38 
> Если это "вариант sqlite", то сделайте его в стиле sqlite.

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

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

Ответить | Правка | ^ к родителю #47 | Наверх | Cообщить модератору

58. "Доступен Dqlite 1.0, распределённый вариант SQLite от компан..."  +2 +/
Сообщение от Аноним (58), 02-Сен-19, 09:25 
> я и говорю - ненужно, расходимся.

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

Ответить | Правка | ^ к родителю #35 | Наверх | Cообщить модератору

63. "Доступен Dqlite 1.0, распределённый вариант SQLite от компан..."  –1 +/
Сообщение от мяя (?), 02-Сен-19, 13:07 
Глупый вскукарек от того кому данное решение не нужно было бы даже в случае если там был клиент "по феншую", то есть тебе лишь бы придраться и вкускарекнуть о "нинужно!!!".
Кому технология действительно нужна плевать на чём написан CLI-клиент. Тем более если разобраться то голанг не тащит никаких зависимостей.
Ответить | Правка | ^ к родителю #16 | Наверх | Cообщить модератору

24. "Доступен Dqlite 1.0, распределённый вариант SQLite от компан..."  –2 +/
Сообщение от Аноним (24), 01-Сен-19, 15:58 
>СУБД реализована в форме прикрепляемой к приложениям Си-библиотеки

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

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

28. "Доступен Dqlite 1.0, распределённый вариант SQLite от компан..."  +/
Сообщение от funny.falcon (?), 01-Сен-19, 16:02 
Как язык, лучше. Но для С не нужен «ещё один компилятор».
Ответить | Правка | ^ к родителю #24 | Наверх | Cообщить модератору

26. "Доступен Dqlite 1.0, распределённый вариант SQLite от компан..."  –1 +/
Сообщение от index0h (ok), 01-Сен-19, 15:59 
Распределенная встраиваемая БД, звучит как оксюморон.
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

29. "Доступен Dqlite 1.0, распределённый вариант SQLite от компан..."  +/
Сообщение от funny.falcon (?), 01-Сен-19, 16:06 
Если нужно распределенное приложение без левых (или правых) зависимостей, то почему нет?

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

Ответить | Правка | ^ к родителю #26 | Наверх | Cообщить модератору

43. "Доступен Dqlite 1.0, распределённый вариант SQLite от компан..."  –1 +/
Сообщение от index0h (ok), 01-Сен-19, 22:05 
Дык весь смысл же теряется. Как только требуется распределение данных - внешние БД все равно являются внешними серверами, хоть они куда-то там встроены, хоть нет.
Ответить | Правка | ^ к родителю #29 | Наверх | Cообщить модератору

44. "Доступен Dqlite 1.0, распределённый вариант SQLite от компан..."  –2 +/
Сообщение от Аноним (44), 01-Сен-19, 22:40 
Докер берут если не хочется левых (лишних) людей.
Ответить | Правка | ^ к родителю #29 | Наверх | Cообщить модератору

70. "Доступен Dqlite 1.0, распределённый вариант SQLite от компан..."  +1 +/
Сообщение от тигар (ok), 03-Сен-19, 22:21 
да? а девопсики, по этой логике, становятся (внезапно) правыми и не лишними? вотэтоповорот.жпг
Ответить | Правка | ^ к родителю #44 | Наверх | Cообщить модератору

27. "Доступен Dqlite 1.0, распределённый вариант SQLite от компан..."  –2 +/
Сообщение от Аноним (24), 01-Сен-19, 16:01 
>СУБД реализована в форме прикрепляемой к приложениям Си-библиотеки

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

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

30. "Доступен Dqlite 1.0, распределённый вариант SQLite от компан..."  +3 +/
Сообщение от Аноним (30), 01-Сен-19, 16:11 
А мне - понравилось сама идея dqlite и rqlite. Ни разу не слышал о таких (хотя "тему - слежу").

Мне хватает обычного sqlite и вот почему: в моих корпоративных сценариях использования, думаю ничем особо не отличаюсь от 60% интерпрайза - база ~2ГБ, отражающая ВСЕ(!) данные 5-ти баз 1С за 20 лет, 2-х SCADA и нескольких XLS, в которых самое интересное.

В сутки на 1 запись в БД приходится 100 чтений, в день 30 писаний, 300 читаний от 50+ юзеров, "серверов" нет, все на уровне одного отдела с урезаными учетками AD на обычных АРМ. Так вот, этот "малопользовательский" доступ по сети Windows к обычному SQLite-файлу на шаре - оказался самым быстрым(!) по отклику из всех прочих тестенных, включая нормальные серверные PostgreSQL/MySQL/HSQLDB/FireBird/Access.

И главное - он был и остается самым безгеморройным: пофиг кодировки, типы, объявления полей в агр. функциях, валидность имен полей (да - да!).

Есть CTE для любой практической задачи "открыжить по-настоящему".

"Хранимок" нет - ну и не надо, храним сами в табличке внутри БД, благо 2 из 30 "IDE" для SQLite это умеют "искаропки".

SQLite оказалась просто мечтой-явью для фигак-продакшена на предприятии с 15+ млрд выручки в год. С обычными экономистами, которые на VBA еще UDF не пишут, но клепают SQL-запросы со скоростью 5 шт в день на лицо, ведь в них всё просто и понятно (для этого язык и создавался). ЗП в отделе от 50+... в городе 300к+  

Обязательно изучу сабж и альтернативу. Если она позволит держать "базу" не на сетевой шаре, а локально иметь всегда обновленную, по типу торрента - это будет шикарное средство интероперабельной лоскутной автоматизации (ИЛА), которая лично у меня в офисе побеждает и будет всегда побеждать всех заезжих консалтеров с "2,5 MIO RUB за   предложение научить нас работать". Предлагаю посмотреть, уверен - пригодится многим.    

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

32. "Доступен Dqlite 1.0, распределённый вариант SQLite от компан..."  +/
Сообщение от ыы (?), 01-Сен-19, 18:48 
> пофиг кодировки

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

Ответить | Правка | ^ к родителю #30 | Наверх | Cообщить модератору

36. "Доступен Dqlite 1.0, распределённый вариант SQLite от компан..."  +/
Сообщение от пох. (?), 01-Сен-19, 20:57 
не использует collate, делов-то.

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

Ответить | Правка | ^ к родителю #32 | Наверх | Cообщить модератору

37. "Доступен Dqlite 1.0, распределённый вариант SQLite от компан..."  +/
Сообщение от ыы (?), 01-Сен-19, 21:01 
а сортировку оно потом как делает?
Ответить | Правка | ^ к родителю #36 | Наверх | Cообщить модератору

53. "Доступен Dqlite 1.0, распределённый вариант SQLite от компан..."  +2 +/
Сообщение от Аноним (53), 02-Сен-19, 08:32 
sqlite3 хранит в utf8. Эта кодировка (точнее набор символов, ну вы поняли) - позволяет кидать любое "человеконечитаемое" - в базу, если это конвертить на лету дорого. Часто дешевле перекодить ResultSet или строку поиска.

Всеядность СУБД очень важна с бухданными типа 1С. Эта желтая гидра порождает чудовищное кол-во граблей при перепроведении документов. Например создает время вида "24:00:09", не может парно обкавычивать поля при сохранении в TXT, там же чудит с разделителями полей (Tab). Почему TXT? TXT-обмен в 4-12 раз быстрее OLE/COM из 1С, а прямое чтение (там ведь "всего" 8 тыс таблиц, в этой самой 1С:УПП в MSSQL/Postgre) - невозможно из-за блокировок. Использование в таких случаях любой другой типизированной СУБД - приведет к куче ошибок импорта и необходимости непрерырвно хардкодить конверторы. Впрочем, для некоторой несознательной части айтисообщества - это является шаблоном поведения "чтобы выжить в клоповнике".  

Ответить | Правка | ^ к родителю #37 | Наверх | Cообщить модератору

38. "Доступен Dqlite 1.0, распределённый вариант SQLite от компан..."  +/
Сообщение от ыы (?), 01-Сен-19, 21:01 
а с образцом оно потом как сопоставляет?
Ответить | Правка | ^ к родителю #36 | Наверх | Cообщить модератору

40. "Доступен Dqlite 1.0, распределённый вариант SQLite от компан..."  +/
Сообщение от пох. (?), 01-Сен-19, 21:29 
как двоичные данные, в чем проблема-то? У sqlite полный пофигизм к тому, что оно считает "строками", лишь бы binary null не попадались.
И все данные в таблице - строки ;-)

Ответить | Правка | ^ к родителю #38 | Наверх | Cообщить модератору

39. "Доступен Dqlite 1.0, распределённый вариант SQLite от компан..."  +/
Сообщение от ыы (?), 01-Сен-19, 21:04 
а верхний-нижний регистр оно потом как преобразовавает?
Ответить | Правка | ^ к родителю #36 | Наверх | Cообщить модератору

41. "Доступен Dqlite 1.0, распределённый вариант SQLite от компан..."  +/
Сообщение от пох. (?), 01-Сен-19, 21:29 
никак. Оно далеко не всем и надо.

Ответить | Правка | ^ к родителю #39 | Наверх | Cообщить модератору

46. "Доступен Dqlite 1.0, распределённый вариант SQLite от компан..."  +/
Сообщение от Онаним (?), 01-Сен-19, 22:50 
Что значит что делаем? Не используем. От слова "совсем". Только UTF, только хардкор.
Я думал "запись русской кодировки в базу не в UTF8" уже давно уделом школоты стала. Ан нет ж.
Ответить | Правка | ^ к родителю #32 | Наверх | Cообщить модератору

33. "Доступен Dqlite 1.0, распределённый вариант SQLite от компан..."  +/
Сообщение от ыы (?), 01-Сен-19, 18:55 
>30 писаний, 300 читаний

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

Ответить | Правка | ^ к родителю #30 | Наверх | Cообщить модератору

51. "Доступен Dqlite 1.0, распределённый вариант SQLite от компан..."  +/
Сообщение от Аноним (53), 02-Сен-19, 08:03 
Никак. Файл базы - один, им пользуются. SQLite позволяет один поток записи или 4 потока чтения, остальные ловят таймаут 5 сек. Большинство юзает базу через ODBC, часть через JDBC, а часть из Python встроенной библиотекой, которая на INSERT быстрее чем sqlite3.exе.  
Ответить | Правка | ^ к родителю #33 | Наверх | Cообщить модератору

48. "Доступен Dqlite 1.0, распределённый вариант SQLite от компан..."  +/
Сообщение от gogo (?), 02-Сен-19, 00:46 
Я вот ХЗ что это у ваз за "интерпрайз" такой, что 50 человек имеютдоступ к 5 базам 1с за 20 лет.
Может у вас и нет там ничего секретного, может где-то так и бывает...
Но больше всего меня коробит от мысли, что все они могут менять данные, которые для них не предназначены.
Ответить | Правка | ^ к родителю #30 | Наверх | Cообщить модератору

52. "Доступен Dqlite 1.0, распределённый вариант SQLite от компан..."  +/
Сообщение от Аноним (53), 02-Сен-19, 08:11 
Вы правы - в базах 1С менять ничего нельзя. А вот в SQLite таблице, содержащей все проводки из 1С за 20 лет - можно и даже нужно. Ведь только так можно превратить 20 разных вариантов написания названия, скажем 203-го подшипника, и сделать это в отношении 10 тыс. позиций номенклатуры. И тогда можно запросы поручить писать девочкам, без регулярок и километровых IN()
Ответить | Правка | ^ к родителю #48 | Наверх | Cообщить модератору

55. "Доступен Dqlite 1.0, распределённый вариант SQLite от компан..."  +/
Сообщение от Гентушник (ok), 02-Сен-19, 08:38 
А вы данные из этой sqlite-базы в 1С потом обратно загружаете или у вас идёт только односторонняя выгрузка 1С->sqlite только для построения отчётов?
Ответить | Правка | ^ к родителю #52 | Наверх | Cообщить модератору

56. "Доступен Dqlite 1.0, распределённый вариант SQLite от компан..."  +/
Сообщение от Аноним (53), 02-Сен-19, 09:10 
Односторонне, в основном для отчетов по "нормализованным" данным. Некоторые отчеты, например XLS/DOC/ODT/ODS - сами порождают записи в SQLite через ODBC (http://www.ch-werner.de/), например автоматический номер договора или исходящего письма, сделанные на основе шаблона. Но при разовой миграции 1С77-1С83 - использовали нормализованные данные из SQLite.    
Ответить | Правка | ^ к родителю #55 | Наверх | Cообщить модератору

54. "Доступен Dqlite 1.0, распределённый вариант SQLite от компан..."  +/
Сообщение от Гентушник (ok), 02-Сен-19, 08:36 
Раз база просто валяется на шаре в r/w, то эту базу ещё и попортить можно случайно или специально.
Ответить | Правка | ^ к родителю #48 | Наверх | Cообщить модератору

57. "Доступен Dqlite 1.0, распределённый вариант SQLite от компан..."  +/
Сообщение от Аноним (53), 02-Сен-19, 09:13 
Такое возможно и даже один раз случилось. SSD ушел в RO с TRIM. Файл помер полностью. 4-х часовой бэкап был - и лошадь снова на ногах.
Ответить | Правка | ^ к родителю #54 | Наверх | Cообщить модератору

45. "Доступен Dqlite 1.0, распределённый вариант SQLite от компан..."  +/
Сообщение от Онаним (?), 01-Сен-19, 22:48 
Хохо, что-то годное, судя по описанию, надо будет потрогать. Если работает не через пень-колоду, как это обычно бывает с такими проектами: здесь завалилось, вот здесь не трогать ни в коем случае, ещё вот здесь known bug, а здесь рыбу заворачивали - я уже знаю этой штуке офигеннейшее применение.
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

49. "Доступен Dqlite 1.0, распределённый вариант SQLite от компан..."  +1 +/
Сообщение от gogo (?), 02-Сен-19, 00:51 
Ничего. Если будет заваливаться - они напишут утилиту для сваливания обратно в кучу. на го, конечно )
Ну и, конечно, всякие бинлоги и лок-файлы полюбасу трогать нельзя будет. Ибо это же не sql-сервер, тут грязно-рыбными руками  нельзя ))
Ответить | Правка | ^ к родителю #45 | Наверх | Cообщить модератору

72. "Доступен Dqlite 1.0, распределённый вариант SQLite от компан..."  +/
Сообщение от Аноним (72), 04-Сен-19, 16:08 
годное. я недавно потерял целый кластер из-за взаимоблокировки трех инстансов. контейнеры есть - а достучаться до них через LXD интерфейс - невозможно. пришлось руками доставать оттуда данные. и переподнимать все из бэкапов.
Ответить | Правка | ^ к родителю #45 | Наверх | Cообщить модератору

60. "Доступен Dqlite 1.0, распределённый вариант SQLite от компан..."  +/
Сообщение от odin314 (ok), 02-Сен-19, 10:12 
Лучше бьі пофиксили  fcntl  file locking для NFS
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

71. "Доступен Dqlite 1.0, распределённый вариант SQLite от компан..."  +1 +/
Сообщение от Аноним (72), 04-Сен-19, 15:25 
отличная штука. то-то в багтрекере по LXD кластеру, вагон и телега багов, связанных с глюками этого поделия.
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

73. "Доступен Dqlite 1.0, распределённый вариант SQLite от компан..."  +/
Сообщение от пох. (?), 05-Сен-19, 10:43 
где ж ты раньше был - а тут всерьез обсуждали-спорили. Некоторые аж почти сами себя убедили, что у каюкинга или как там они может быть что-то "годное". А не слепили из дерьма и палок и кривых обезьянко-либ на модном raft гибрид ежа с ужом, как оно, очевидно, и есть.

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

Ответить | Правка | ^ к родителю #71 | Наверх | Cообщить модератору

74. "Доступен Dqlite 1.0, распределённый вариант SQLite от компан..."  +/
Сообщение от Аноним (72), 05-Сен-19, 12:27 
да я сам почти поверил :) и потерял продакшен кластер. 4 часа даунтайма и откат всего на bare metal из бэкапов. не сильный продакшен, потери не велики, но теперь я эту поделку ни для чего, кроме тестирования на десктопе использовать не буду.
Ответить | Правка | ^ к родителю #73 | Наверх | Cообщить модератору

75. "Доступен Dqlite 1.0, распределённый вариант SQLite от компан..."  +/
Сообщение от Аноним (75), 05-Сен-19, 22:52 
Подскажите, а можно встроить sqlite3 так в приложение на C++, чтобы была доступна родная командная строка sqlite3. По аналогии с интерпретатором луа. Цель при запуски программы на С++ распарсить логи, в SQL, а потом делать по ним запросы.
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

76. "Доступен Dqlite 1.0, распределённый вариант SQLite от компан..."  +/
Сообщение от Petremail (??), 06-Сен-19, 00:14 
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!
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Спонсоры:
Слёрм
Inferno Solutions
Hosting by Ihor
Хостинг:

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