The OpenNET Project / Index page

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

Выпуск rqlite 7.0, распределённой отказоустойчивой СУБД на основе SQLite

28.01.2022 10:20

Состоялся релиз распределённой СУБД rqlite 7.0, которая использует SQLite в качестве движка хранения и позволяет организовать работу кластера из синхронизированных между собой хранилищ. Из особенностей rqlite отмечается простота установки, развёртывания и сопровождения распределённого отказоустойчивого хранилища, чем-то похожего на etcd и Consul, но использующего реляционную модель работы с данными вместо формата ключ/значения. Код проекта написан на языке Go и распространяется под лицензией MIT.

Для поддержания всех узлов в синхронизированном состоянии используется алгоритм достижения консенсуса Raft. Rqlite использует оригинальную библиотеку SQLite и драйвер go-sqlite3, поверх которых запускается прослойка, обрабатывающая запросы клиентов, выполняющая репликацию на другие узлы и отслеживающая достижение консенсуса по выбору лидирующего узла.

Изменения в базу данных могут вноситься только узлом, который выбран в качестве лидирующего, но соединения с операциями записи могут направляться и к другим узлам кластера, которые вернут адрес лидера для повторения запроса (в следующей версии обещают добавить автоматический проброс обращения к лидеру). Главный упор делается на отказоустойчивость, поэтому СУБД масштабируется только по операциям чтения, а операции записи являются узким местом. Возможно запустить кластер rqlite из одного узла и такое решение может использоваться для организации доступа к SQLite поверх HTTP без предоставления отказоустойчивости.

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

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

  • Простота развёртывания кластера, без необходимости отдельной установки SQLite.
  • Возможность быстро получить реплицированное SQL-хранилище.
  • Готовность для использования в рабочих проектах (production-grade).
  • Наличие HTTP(S) API, позволяющего обновлять данные в пакетном режиме и определять лидирующий узел кластера. Также предоставляется интерфейс командной строки и клиентские библиотеки для различных языков программирования.
  • Наличие сервиса для определения других узлов, позволяющего создавать кластеры динамически.
  • Поддержка шифрования обмена данных между узлами.
  • Возможность настройки уровня проверки актуальности и согласованности данных при чтении.
  • Опциональная возможность подключения узлов в режиме только для чтения, не принимающих участие в определении консенсуса и используемых для увеличения масштабируемости кластера по операциям чтения.
  • Поддержка собственной формы транзакций на базе объединения команд в одном запросе (транзакции на базе BEGIN, COMMIT, ROLLBACK, SAVEPOINT и RELEASE не поддерживаются).
  • Поддержка создания горячих резервных копий.


В новом выпуске:

  • Добавлена поддержка автоматического кластеринга rqlite с использованием нового сервиса определения узлов, который может работать на базе распределённых хранилищ Consul и etcd. Сервис позволяет узлам rqlite автоматически находить друг друга - администратору достаточно запустить несколько узлов на разных серверах, указав общий адрес кластера Consul или etcd (например, "example.com:8500"), и узлы автоматически будут объединены в кластер. Лидирующий узел периодически обновляет в хранилище Consul или etcd информацию о своём адресе, что позволяет в последующем изменить лидера без необходимости перенастройки остальных узлов, а также добавлять новые узлы даже после изменения лидера. Поддержка старого сервиса определения узлов (Discovery mode), работающего на базе AWS Lambda, прекращена.
  • В CLI интерфейсе разрешено указание сразу нескольких хостов - если первый узел окажется недоступен, будет осуществлено обращение к следующим хостам.
  • Переработан код для разбора аргументов командной строки rqlited.
  • Прекращено использование устаревшего пакета protobuf.
  • Хранилище BoltDB, применяемое в реализации протокола Raft, заменено на bbolt, форк от проекта etcd.


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


Обсуждение (105) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, Аноним (1), 10:40, 28/01/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • –10 +/
    Очень напоминает рекламную брошурку, а в рекламе, как известно, брешут.
     
     
  • 2.4, Аноним (4), 10:43, 28/01/2022 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Просто ты поверхностный еще не попробовал, а уже сделал вывод что это брошЮрка.  
     
  • 2.8, Аноним (8), 11:20, 28/01/2022 [^] [^^] [^^^] [ответить]  
  • –1 +/
    рекламировал раст тут некто кверти, кстати давно про него не слышал
     
     
  • 3.19, . (?), 12:43, 28/01/2022 [^] [^^] [^^^] [ответить]  
  • +4 +/
    Он еще предыдущий транш на Канарах не пропил. Еще услышишь.
     
  • 3.44, Аноним (4), 16:54, 28/01/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Следующая конференция по расту в Мск только в следующем году.  
     
     
  • 4.60, funny.falcon (?), 00:33, 29/01/2022 [^] [^^] [^^^] [ответить]  
  • +/
    В 2023м штоли?
     
     
  • 5.82, самокатофил (?), 22:40, 29/01/2022 [^] [^^] [^^^] [ответить]  
  • +1 +/
    >В 2023м штоли?

    в 2к23м.

     

  • 1.2, Аноним (4), 10:42, 28/01/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    Очень хорошо что программа написана не безопасном и быстром языке Go.
     
     
  • 2.5, Аноним (1), 10:56, 28/01/2022 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Это многое объясняет.
     
     
  • 3.11, Аноним (11), 11:40, 28/01/2022 [^] [^^] [^^^] [ответить]  
  • +4 +/
    небезопасном?
     
     
  • 4.114, letsmac (ok), 10:21, 01/02/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Там сборщик же. И сильно тупит со строками в режиме демона.
     
  • 2.6, Аноним (6), 10:58, 28/01/2022 [^] [^^] [^^^] [ответить]  
  • +3 +/
    К стати Rqlite использует оригинальную библиотеку SQLite которая на C.
     
     
  • 3.7, InuYasha (??), 11:11, 28/01/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Т.е. вместо того чтобы продолжить развивать структуру и стиль оригинального проекта, автор решил тяп-ляпать по-своему. И в продакшен, конечно.
     
     
  • 4.9, Аноним (8), 11:22, 28/01/2022 [^] [^^] [^^^] [ответить]  
  • +/
    в продакшн ставить такое будет только какой-нибудь фанатик го или ещё чего
     
     
  • 5.13, Аноним (4), 12:20, 28/01/2022 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Скорее фанатик sqlite. Sqlite кроме встройки особо отношения к базам данным не имеет.  Зато масштабировать проект который изначально по какой-то причине был написан с sqlite.  
     
     
  • 6.77, OpenEcho (?), 19:10, 29/01/2022 [^] [^^] [^^^] [ответить]  
  • +/
    > Sqlite кроме встройки особо отношения к базам данным не
    > имеет.

    Вот это не совсем так, я лично видел под 600Гиг базы, и не раз, которые обслуживаются через стандартный sqlite3 CLI


     
     
  • 7.100, Аноним (100), 16:38, 30/01/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Подписываюсь.
    У самого терабайтная база с небольшими блобами (сорцы для обучения ии с метаданными плюс статистика доступа/использования) - все превосходно работает.
     
  • 5.76, OpenEcho (?), 19:06, 29/01/2022 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > в продакшн ставить такое будет только какой-нибудь фанатик го или ещё чего

    Правильно, настоящие пацаны пишут на gwbasic и бат-файлах


     
  • 4.16, Аноним (16), 12:33, 28/01/2022 [^] [^^] [^^^] [ответить]  
  • +5 +/
    >  Т.е. вместо того чтобы продолжить развивать структуру и стиль оригинального проекта

    ЕМНИП, у SQLite они описываются фразой "вы кто такие, я вас не звал, идите на*й". Проект "чисто для своих", открытая модель разработки и патчи от простых смертных идут лесом.

     
     
  • 5.21, Аноним (8), 12:54, 28/01/2022 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Проект "чисто для своих"

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

     
     
  • 6.27, Владимир (??), 13:38, 28/01/2022 [^] [^^] [^^^] [ответить]  
  • +3 +/
    А в чем проблема? Пользователи пользуются результатом. А программистам сторонним ничего делать не дают.
     
  • 5.36, OpenEcho (?), 16:11, 28/01/2022 [^] [^^] [^^^] [ответить]  
  • +/
    У них Ларри и баги правит документацией, из подхода, - "раз документировано, то это фича, а не баг"
     
  • 5.72, Аноним (72), 15:15, 29/01/2022 [^] [^^] [^^^] [ответить]  
  • +/
    конечно, sqlite разработан для системы управления ПРО Иджис(аегис)
     
  • 4.20, . (?), 12:44, 28/01/2022 [^] [^^] [^^^] [ответить]  
  • +3 +/
    > Т.е. вместо того чтобы продолжить развивать структуру и стиль оригинального проекта

    с ума сошел? Там же tcl! Это ж книжку надо читать чтоб хотя бы начать понимать код!
    Некогда, некогда - agile не ждет!

     
     
  • 5.35, OpenEcho (?), 16:07, 28/01/2022 [^] [^^] [^^^] [ответить]  
  • –5 +/
    tcl там вообщето optional
     
     
  • 6.48, OpenEcho (?), 17:34, 28/01/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Тот кто поставил минус, - обьяснение в студию плиз
     
     
  • 7.54, Аноним (54), 21:12, 28/01/2022 [^] [^^] [^^^] [ответить]  
  • +5 +/
    нашли как минусить - не сдержали радости.
     
     
  • 8.70, OpenEcho (?), 11:34, 29/01/2022 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Чем бы детки не тешились, лишь бы не гадили ... текст свёрнут, показать
     

  • 1.10, Аноним (-), 11:37, 28/01/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Какова цель существования сабжа, если https://github.com/canonical/dqlite быстрее, надежнее и обеспечивает более вменяемую репликацию?
     
     
  • 2.12, Аноним (12), 12:13, 28/01/2022 [^] [^^] [^^^] [ответить]  
  • +/
    API, вероятно
     
  • 2.14, Аноним (4), 12:21, 28/01/2022 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Использование Go. Он компилируются на все платформы и компилируются при этом статически под все платформы, как результат он просто работает. А не делает мозги своими зависимостями.  
     
     
  • 3.17, Аноним (1), 12:35, 28/01/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Совсем как с *подставить название любого языка программирования*? Не может быть, вот это достижение!
     
     
  • 4.31, Аноним (31), 14:32, 28/01/2022 [^] [^^] [^^^] [ответить]  
  • +/
    А для го это прорыв
     
  • 4.39, OpenEcho (?), 16:30, 28/01/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Ну давай, скомпилируй что нибудь под линолиумом на х86_64 что имеет в зависимост... большой текст свёрнут, показать
     
     
  • 5.71, Vindex (?), 13:37, 29/01/2022 [^] [^^] [^^^] [ответить]  
  • +/
    $ vim probe.c  # копирую здесь текст программы
    $ gcc probe.c
    $ ldd ./a.out
        linux-vdso.so.1 (0x00007ffd705e2000)
        libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f3f833dd000)
        /lib64/ld-linux-x86-64.so.2 (0x00007f3f835c8000)
     
     
  • 6.74, OpenEcho (?), 18:51, 29/01/2022 [^] [^^] [^^^] [ответить]  
  • +/
    > $ vim probe.c  # копирую здесь текст программы
    > $ gcc probe.c
    > $ ldd ./a.out
    >     linux-vdso.so.1 (0x00007ffd705e2000)
    >     libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f3f833dd000)
    >     /lib64/ld-linux-x86-64.so.2 (0x00007f3f835c8000)

    Друг, это не статика. Статика выглядит так:

    >ldd a.out
    > not a dynamic executable

     
     
  • 7.83, самокатофил (?), 23:33, 29/01/2022 [^] [^^] [^^^] [ответить]  
  • +/
    друг, да ни проблема, дружищщщще! не глибц единым. :^)
     
     
  • 8.93, OpenEcho (?), 11:31, 30/01/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Т-с-с, про смусли молчим, т к проблема именно с глибц, которая на всех популярн... текст свёрнут, показать
     
     
  • 9.97, самокатофил (?), 14:39, 30/01/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Проблема у тя с головой, родной, причём серьёзные Ты говоришь что я самоутвержд... текст свёрнут, показать
     
     
  • 10.102, OpenEcho (?), 23:03, 30/01/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Аха, глибц --enable-static-nss и до кучи затем перекомилить с такой же опцией в... большой текст свёрнут, показать
     
     
  • 11.105, самокатофил (?), 23:29, 30/01/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Зачем убивать кучу времени, если ты не знаешь что делаешь Почему не берешь сраз... большой текст свёрнут, показать
     
     
  • 12.108, OpenEcho (?), 12:12, 31/01/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Именно это и делаем Но здешь есть шпециалисты , утверждающие Вот о них и ра... большой текст свёрнут, показать
     
     
  • 13.110, самокатофил (?), 16:13, 31/01/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Ничего вы не делаете Из всей ленты сказанного, ты то пишешь, то не пишешь на ... текст свёрнут, показать
     
     
  • 14.112, OpenEcho (?), 17:35, 31/01/2022 [^] [^^] [^^^] [ответить]  
  • +/
    А ну, покаж где это я говорил Наигрался словами Бывает, не спорю, но до тво... текст свёрнут, показать
     
  • 9.98, самокатофил (?), 14:40, 30/01/2022 [^] [^^] [^^^] [ответить]  
  • +/
    ты лучше расскажи где другой компилер взять для го, с динамикой Можно не такой ... текст свёрнут, показать
     
     
  • 10.103, OpenEcho (?), 23:06, 30/01/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Так Игогошка насколько я помню, кажется может и динамику на х64 с опцией -dynlin... текст свёрнут, показать
     
     
  • 11.106, самокатофил (?), 23:40, 30/01/2022 [^] [^^] [^^^] [ответить]  
  • +/
    cgo gccgo Впрочем пох что эти ыдлокодеры за 01к2 лет как вы любите наконе... текст свёрнут, показать
     
     
  • 12.109, OpenEcho (?), 12:50, 31/01/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Проще динамика Статика Судя по предлагаемым зарплатам Го-шникам на рынке бо... текст свёрнут, показать
     
     
  • 13.111, самокатофил (?), 16:15, 31/01/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Спрашиваю cgo нет, проще мама мия, да они кантуженые у кого что болит -D ... текст свёрнут, показать
     
     
  • 14.113, OpenEcho (?), 17:39, 31/01/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Не, ты просто редкостный нарцис О, да я смотрю есть еще орлы за корочку хле... текст свёрнут, показать
     
  • 5.75, OpenEcho (?), 18:54, 29/01/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Очень интересно мнение товарища, поставившего минус, это от злости что не получается скомилить ?
    Тогда понимаю...
     
     
  • 6.80, Аноним (16), 19:59, 29/01/2022 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Нет, он просто не понял, что означают эти нерусские буквы.
    С защитниками сишно-юниксовых скреп такое регулярно происходит.
     
     
  • 7.99, самокатофил (?), 14:41, 30/01/2022 [^] [^^] [^^^] [ответить]  
  • +/
    > Нет, он просто не понял, что означают эти нерусские буквы.
    > С защитниками сишно-юниксовых скреп такое регулярно происходит.

    Сам себе петтинг устраиваешь из под анонима? :-D

     
     
  • 8.104, OpenEcho (?), 23:12, 30/01/2022 [^] [^^] [^^^] [ответить]  
  • +/
    А у тебя смотрю и правда , того этого, мерещится, по себе судишь ... текст свёрнут, показать
     
  • 3.18, . (?), 12:42, 28/01/2022 [^] [^^] [^^^] [ответить]  
  • +/
    > Использование Go. Он компилируются на все платформы

    винду, винду, винду, и вот...минуточку...а, ну да - linoops 64bit only и то на трех популярных архитектурах?

    "все платформы" по мнению гугля этим и исчерпываются.

     
     
  • 4.26, Аноним (4), 13:34, 28/01/2022 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Вот тут ты и попал под каток рекламы Архитектуры что поддерживает Go aix ppc6... большой текст свёрнут, показать
     
     
  • 5.38, . (?), 16:29, 28/01/2022 [^] [^^] [^^^] [ответить]  
  • +1 +/
    нет, это архитектуры для которых он сам собирается. Причем сильно подозреваю что в варианте запуска под qemu, для гугля маловероятно иметь коллекцию всех этих платформ да еще и чтоб они хотя бы загружались. Что после сборки работает - никто не обещал.

    И да, расскажите им кто-нибудь, что android и linux - одна и та же архитектура, а вот arm - две или три, и если отдельно не считать neon, и компиляторы им нужны разные, особенно в стиле игогошеньки, где нет даже внешних библиотек - так что даже там где кое-как можно было обойтись универсальным кодом, не получится.

     
     
  • 6.43, Аноним (4), 16:53, 28/01/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Т.е. ты серьёзно думаешь что если под платформу собирается компилятор от под ней не может скомпилировать нативное приложение?

    Там конечно есть ограничения на некоторый платформах нужна помощь C компилятора. Но под многие платформы он компилит нативно. И да можно на x86 лине компилить под виндовый арм и никто тебе ничего не скажет. Задается это переменными окружение GOARCH и GOOS.  

     
     
  • 7.45, . (?), 17:09, 28/01/2022 [^] [^^] [^^^] [ответить]  
  • –3 +/
    Скомпилировать - может и сможет (искренне верю что модные ребята уже настроили соответствующую континьюнс дезинтеграцию - правда, в эмуляторе она немного стоит). А может упадет - как получится.
    А уж что скомпилированное сложнее хеловрота правильно работает - это никто не обещал.

    А раз ребята считают разными архитектурами андроид и линукс, зато арм у них один - наиболее вероятно именно такое.

     
     
  • 8.79, OpenEcho (?), 19:34, 29/01/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Ну вот правда, здесь просто все тролят или действительно кроме своего замкнутого... текст свёрнут, показать
     
  • 6.78, OpenEcho (?), 19:18, 29/01/2022 [^] [^^] [^^^] [ответить]  
  • +/
    > Что после сборки работает - никто не обещал.

    Как никто? Вот народ обещает и у всех очень даже работает

    https://github.com/syncthing/syncthing/releases


     
  • 3.22, самокатофил (?), 13:01, 28/01/2022 [^] [^^] [^^^] [ответить]  
  • +5 +/
    >А не делает мозги своими зависимостями.  

    import (
        "github.com/..."
        "github.com/..."
        "github.com/..."
        ...
        skipped...
    )

    Эт да, вообще мозг не делает.

     
     
  • 4.25, Аноним (4), 13:31, 28/01/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Поставь старую версию фаерфокса на новый дистрибутив. Или наоборот на старый дистрибутив Убунту 10.04 например новый фаерфокс. Узнаешь что знаешь много новых слов, которых раньше не говорил.

    А го приложение можно даже от libc отвязать если захочется.  

     
     
  • 5.29, самокатофил (?), 13:45, 28/01/2022 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > Поставь старую версию фаерфокса на новый дистрибутив. Или наоборот на старый дистрибутив
    > Убунту 10.04 например новый фаерфокс. Узнаешь что знаешь много новых слов,
    > которых раньше не говорил.
    > А го приложение можно даже от libc отвязать если захочется.

    Зачем отвязывать? Это же начинает делать нам мозги, а они тут не нужны.

     
  • 4.40, OpenEcho (?), 16:38, 28/01/2022 [^] [^^] [^^^] [ответить]  
  • –1 +/
    И как много популярных проектов вы знаете, которые не тянут зависимости, а вот прям все исключително - только свое? Правда, прям так весь мир с нуля строите ?
     
     
  • 5.50, самокатофил (?), 18:08, 28/01/2022 [^] [^^] [^^^] [ответить]  
  • +/
    > И как много популярных проектов вы знаете, которые не тянут зависимости, а
    > вот прям все исключително - только свое? Правда, прям так весь
    > мир с нуля строите ?

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

     
     
  • 6.51, OpenEcho (?), 18:22, 28/01/2022 [^] [^^] [^^^] [ответить]  
  • +/
    > Остальной мир решает проблему зависимостей,

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

    > не убирая всё г0-но под капот, простите, в статическую компиляцию,

    А вот при статике, ничего не ломается

    >  и поощряя школоту импортировать напрямую с гита-модули в этот ваш "продакшен".

    "И" здесь не уместно, т.к. статическая компиляция и подключение зависимостей из исходников - это очень разные вещи.

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


     
     
  • 7.53, самокатофил (?), 18:41, 28/01/2022 [^] [^^] [^^^] [ответить]  
  • –1 +/
    >> Остальной мир решает проблему зависимостей,
    > Ага, решает с помощю платного персонала, если могут себе позволить таковой,

    Что ты несёшь? Ты нищепрод с гошечкой наперевес? Ищешь кому бы втюлить плюс "статической компиляции" своего гнософта?))

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

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

    >> не убирая всё г0-но под капот, простите, в статическую компиляцию,
    > А вот при статике, ничего не ломается

    гнософт по определению ломается от каждого чиха.

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

    "И" здесь уместно, потому что го создавался для колхозников гугла, пишущих софт культяпками. Создатели в этом признавались, впрочем оно и так видно.

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

    Я просто пользуюсь достижениями 21 века, вроде динамической линковки и дистрибутивами, состоящими из динамически линкуемых компонент, обновляемых отдельно. А тут приходит гошник с смузи, и рассказывает мне о плюсах статической компиляции для неосиляторов динамики. Хах. Назад в 80е, просто.

     
     
  • 8.63, Аноним (63), 07:35, 29/01/2022 [^] [^^] [^^^] [ответить]  
  • +1 +/
    С каждым дистрибутивом Отдельно Проспись уже это и есть 80-ый год Когда опера... текст свёрнут, показать
     
  • 8.69, OpenEcho (?), 11:22, 29/01/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Я просто обожаю опеннет Нищеброд говоришь чувак, иди и посмотри сколько п... текст свёрнут, показать
     
     
  • 9.81, анонимуслинус (?), 20:19, 29/01/2022 [^] [^^] [^^^] [ответить]  
  • +/
    ну он то и не знает, что динамическая линковка библиотек пришла от необходимости... текст свёрнут, показать
     
     
  • 10.84, самокатофил (?), 23:37, 29/01/2022 [^] [^^] [^^^] [ответить]  
  • +/
    там это, в раст-стд уязвимость нашли, с самой первой версии Перекомпиляли уже в... текст свёрнут, показать
     
     
  • 11.86, анонимуслинус (?), 23:47, 29/01/2022 [^] [^^] [^^^] [ответить]  
  • +/
    не пользую раст еще не дорос а ошибки ну опенок считался супер безопас... текст свёрнут, показать
     
     
  • 12.87, самокатофил (?), 00:17, 30/01/2022 [^] [^^] [^^^] [ответить]  
  • –1 +/
    бла-бла, пук, бла-бла, опёнок, пук, дуршлак, пук-пук Госспади, какая чушь Слух... текст свёрнут, показать
     
     
  • 13.88, анонимуслинус (?), 00:41, 30/01/2022 [^] [^^] [^^^] [ответить]  
  • +/
    ты кажется не понял, вообще ни про что ни про статическую линковку, ни про дина... текст свёрнут, показать
     
     
  • 14.89, самокатофил (?), 00:47, 30/01/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Нет, это ты не понял до звезды ваш исторический экскурс Не умеете в динамическ... текст свёрнут, показать
     
     
  • 15.90, анонимуслинус (?), 01:41, 30/01/2022 [^] [^^] [^^^] [ответить]  
  • +1 +/
    не пинай в пустоту я вообще ГО не занимаюсь мне хоть их компиляторы, хоть либы... текст свёрнут, показать
     
     
  • 16.91, самокатофил (?), 02:44, 30/01/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Так а в чем смысл тогда вашего с анонимом выше консенсуса про статическую типиза... текст свёрнут, показать
     
  • 13.94, OpenEcho (?), 11:44, 30/01/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Телепатия замучила Так, к сведению, я кроме типа хелоу ворлд и правки других пр... текст свёрнут, показать
     
     
  • 14.95, самокатофил (?), 14:16, 30/01/2022 [^] [^^] [^^^] [ответить]  
  • +/
    а спустя пару слов Гошник одним словом -D ... текст свёрнут, показать
     
     
  • 15.96, Аноним (96), 14:26, 30/01/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Молодца, поставил щекастого на место, он реально надоел ... текст свёрнут, показать
     
  • 3.55, Аноним (54), 21:13, 28/01/2022 [^] [^^] [^^^] [ответить]  
  • –1 +/
    любой популярный язык работает на всех платформах.
    собсно, потому и популярный.
     
     
  • 4.64, Аноним (63), 07:39, 29/01/2022 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > любой популярный язык работает на всех платформах.
    > собсно, потому и популярный.

    Язык может и работает, а софт, который он компилирует нет. А чем же тут такая загвоздка? Может просто твои «языки» программирования делают это через одно место поэтому таргет у них даже не платформа, а отдельный дистрибутив?

     
     
  • 5.85, самокатофил (?), 23:38, 29/01/2022 [^] [^^] [^^^] [ответить]  
  • +/
    плохому танцору -- растишка с гошечкой тока не мешают в одном месте.
     

  • 1.15, Аноним (15), 12:24, 28/01/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    [я познаю мир]

    а с использованием сабжа или dqlite можно сделать что-то похожее на распределенную базу 1С v7 ?
    Ну когда на дискетках или через модем локальные базы в филиалах синхронизировались :)

    [/я познаю мир]

     
     
  • 2.28, Аноним (4), 13:39, 28/01/2022 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Репликация баз на чтение есть в любых базах данных.  Это к sqlite надо велосипеды дописывать чтобы было как у всех.

    Если очень хочется можно. Но троллейбус.    

     
     
  • 3.30, Аноним (30), 14:01, 28/01/2022 [^] [^^] [^^^] [ответить]  
  • +1 +/
    не это не совсем то.

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

    как это было в 1ЦЭ:
    один или два раза в день филиалы соединялись с головным офисом через модем (или даже таскали на дискетках) и таким образом базы синхронизировались.

     
     
  • 4.41, Аноним (4), 16:47, 28/01/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Нет тебе нужна репликация Мастер-Мастер.  Почитай в инете с этим в большинстве своём всё плохо.  

    В сабже мастер один и только обещают какую-то мутную систему когда реплики каким-то образом будут сообщать адрес мастера.  

     
     
  • 5.46, Аноним (46), 17:16, 28/01/2022 [^] [^^] [^^^] [ответить]  
  • +/
    > всё плохо

    печально. колхозить свое очень уж неохота...

     

  • 1.23, Anonymus (?), 13:07, 28/01/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    >отказоустойчивость
    >Данные SQLite на каждом узле хранятся не в файле, а в памяти

    Это точно надёжно?

     
     
  • 2.34, Аноним (34), 16:03, 28/01/2022 [^] [^^] [^^^] [ответить]  
  • +/
    По логике узлы должны обмениваться инфой о своих данных, и если что-то потеряется, то прилетит из другого узла.
     
  • 2.49, Аноним (49), 17:54, 28/01/2022 [^] [^^] [^^^] [ответить]  
  • +/
    У всего есть пределы надёжности.

    Конечно "настоящие" БД так хранить нельзя ни в коем случае.

    Но как кэширующий слой, фронтенд и т.п. волне.

     
  • 2.52, Аноним (52), 18:23, 28/01/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Должно быть надежно; на диске хранится журнал записей, в случае чего из него можно восстановиться.
     

  • 1.32, Аноним (32), 15:18, 28/01/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Отказоустойчивость! Это то что мне нужно!
     
  • 1.33, Аноним12345 (?), 15:29, 28/01/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    sqlite - это которая однопользовательская ?
     
     
  • 2.42, Аноним (4), 16:48, 28/01/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Там мастер один и фиксированный.  И да туда либо всегда пишет один пользователь. Либо еще перед этим всем надо ставить очередь.  
     

  • 1.57, лютый жабби__ (?), 21:59, 28/01/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    изобрели убогий hazelcast в 2022м ? )
     
  • 1.61, Аноним (61), 01:48, 29/01/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    А к MySQL еще в движки не завезли SQLite? Вообще было бы интересно посмотреть и сравнить производительность с InnoDB
     
     
  • 2.68, funny.falcon (?), 10:24, 29/01/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Не интересно. Если исключительно на чтение, при полном отсутствии записи, то ещё может потягается. Но в реальных применениях, с мало-мальской записью, сольётся.

    Всё-таки, InnoDB вполне себе навороченный и оптимизированный.

     

  • 1.66, Аноним (66), 08:10, 29/01/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Бесполезная хрень как и dqlite. Там ограничений столько что проще старперский постгрес поставить
     
     
  • 2.67, funny.falcon (?), 10:19, 29/01/2022 [^] [^^] [^^^] [ответить]  
  • +/
    У старперского постгресса есть рафт-репликация? Пока нет.

    Если что и проще поставить с репликацией, так это Etcd и MongoDB - battle tested современные решения. Но не SQL.

     

  • 1.73, Аноним (-), 18:50, 29/01/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    А вот Rust...
     
     
  • 2.92, Аноним (92), 02:53, 30/01/2022 [^] [^^] [^^^] [ответить]  
  • +1 +/
    * раздается звук выстрела *
     

  • 1.101, самокатофил (?), 19:53, 30/01/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    эй аноны, я тут годноту спалил от комрада с лора:
    https://github.com/golang/go/issues/40028

    - "Если дядя решит по накурке весь код делать без пробелов, будете привыкать читать без пробелов."

    :-D

     
  • 1.107, Аноним (107), 11:10, 31/01/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Не понятно почему автор не поддержал реплику на диск через апишный метод sqlite BackupDatabase. Каждый раз после перезапуска из raft log поднимать базу не хорошо, особенно если много объектов хранится. У меня несколько стендов работают в ram, реплицируются на диск, при перезапуске восстанавливаются с диска, а что не успело зареплицироваться уже из логов подтягиваются. Вполне рабочая схема.
     

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



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

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