The OpenNET Project / Index page

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



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

"Выпуск rqlite 6.0, распределённой отказоустойчивой СУБД на основе SQLite "  +/
Сообщение от opennews (??), 14-Июн-21, 17:02 
Представлен релиз распределённой СУБД rqlite 6.0, которая использует   SQLite в качестве движка хранения и позволяет организовать работу кластера из синхронизированных между собой хранилищ.  Из особенностей  rqlite отмечается простота установки, развёртывания и сопровождения распределённого отказоустойчивого хранилища, чем-то похожего на etcd и Consul, но использующего реляционную модель работы с данными вместо формата ключ/значения. Код проекта написан на языке Go и распространяется под лицензией MIT...

Подробнее: https://www.opennet.ru/opennews/art.shtml?num=55326

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

Оглавление

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

1. Сообщение от Аноним (1), 14-Июн-21, 17:02   +11 +/
Кто уже использует в проде сколько данных в итоге потерялось?
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #4

3. Сообщение от Аноним (3), 14-Июн-21, 17:30   –2 +/
> возможность использования различных клиентских библиотек, созданных для SQLite

Не вижу такого в документации. Есть только

> It is also technically possible to read the SQLite file directly, but it's not officially supported.
> While not officially supported, if you run a node in on-disk mode, you can read the SQLite file directly.

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

Конечно, обычно такой софт поддерживает и постгрес (к которому можно нагородить patroni), но для какой-нибудь графаны это явный оверкилл.

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

4. Сообщение от menangenemail (?), 14-Июн-21, 17:31   –2 +/
В отличии, от раста, написано на Go и прекрасно работает!
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #1 Ответы: #7, #8, #27, #50

6. Сообщение от Аноним (6), 14-Июн-21, 17:39   +/
>Rqlite использует оригинальную библиотеку SQLite и штатный драйвер go-sqlite3

Что значит "штатный"? Это обёртка сишной либы, написанная mattn.

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

7. Сообщение от Аноним (7), 14-Июн-21, 20:14   –5 +/
Rust - есть игра и есть ЯП, rqlite - СУБД. Но это не важно. Главное на чем они все написаны, в ту корзину и отправляются, верно?
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #4 Ответы: #41

8. Сообщение от ПлюсоманПерешедшийНаРаст (?), 14-Июн-21, 20:21   –8 +/
>написано на Go и прекрасно работает

Не смешите мои клешни хддд

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #4

9. Сообщение от Урри (ok), 14-Июн-21, 20:49   +1 +/
У автора (https://github.com/mattn/go-sqlite3) так и написано: "sqlite3 driver for go using database/sql".

И по факту там не обертка, а чуть ли не весь код переписан (пример - https://github.com/mattn/go-sqlite3/blob/master/sqlite3.go).

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

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #6 Ответы: #10, #12, #31

10. Сообщение от neAnonim (?), 14-Июн-21, 20:55   –2 +/
любители rust, go, c++, etc фанатики цель которых переписать все что написано на c.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #9 Ответы: #42

11. Сообщение от Аноним (11), 14-Июн-21, 21:52   +3 +/
>> Готовность для использования в рабочих проектах (Production-grade).
>> В новом выпуске внесены значительные архитектурные изменения

Ну ну.

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

12. Сообщение от Антон (??), 14-Июн-21, 21:59   +/
Выглядит именно как обертка
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #9 Ответы: #36

13. Сообщение от Аноним (11), 14-Июн-21, 22:01   +1 +/
Для тех кого тошнит от GO могут попробовать https://github.com/canonical/dqlite на С от известной конторы. Судя по описанию один в один.
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #14, #15

14. Сообщение от Аноним (11), 14-Июн-21, 22:03   +5 +/
А, не, отличия всё же есть
How does dqlite compare to rqlite?
The main differences from rqlite are:

Embeddable in any language that can interoperate with C
Full support for transactions
No need for statements to be deterministic (e.g. you can use time() )
Frame-based replication instead of statement-based replication

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #13

15. Сообщение от Аноним (11), 14-Июн-21, 22:05   +/
В FAQ они даже написали что сначала тоже взяли ГО, но потом поплевались и написали на С
https://dqlite.io/docs/faq
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #13 Ответы: #17

16. Сообщение от Онаним (?), 14-Июн-21, 22:49   +2 +/
"Поддержка собственной формы транзакций на базе объединения команд в одном запросе (транзакции на базе BEGIN, COMMIT, ROLLBACK, SAVEPOINT и RELEASE не поддерживаются)."

"Данные SQLite на каждом узле хранятся не в файле, а в памяти"

Go'споди...
Какой же ужас эта ваша хипстерская рыба.

Ответить | Правка | Наверх | Cообщить модератору
Ответы: #33

17. Сообщение от anonymous (??), 14-Июн-21, 23:03   +1 +/
Только плевались не столько на сам Go, а на то, что вызов Сишных функций из Go обладает требует блокировки goroutine (ибо Си не поддерживает концепции goroutine). Не очень понятно зачем они использовали Си из Go в высокопроизводительных участках кода с высокой параллельностью. В целом, на любом языке можно выстрелить себе в ногу, особенно если пытаться использовать из него Си :)
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #15 Ответы: #20

18. Сообщение от Аноним (18), 14-Июн-21, 23:28   +/
Go, HTTP, Rest API

Всё понятно. Обезьянки поектуны

Ответить | Правка | Наверх | Cообщить модератору
Ответы: #21

19. Сообщение от Аноним (-), 14-Июн-21, 23:42   +/
Но зачем, когда есть https://github.com/canonical/dqlite
?
Ответить | Правка | Наверх | Cообщить модератору

20. Сообщение от Аноним (36), 15-Июн-21, 00:22   +/
Я из лиспа использую - норм все и ничего не отстреливается.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #17 Ответы: #26, #28

21. Сообщение от Аноним (21), 15-Июн-21, 00:45   –1 +/
можно подумать, ты, трепло, сделать хоть что-то близкое к десятой части от данного проекта по сложности, качеству и пользе
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #18

22. Сообщение от Док (?), 15-Июн-21, 01:10   +2 +/
Я пробовал и это и dqlite. Но поскольку запись только с одного узла то это бесполезно почти. Мне нужен такой вариант: бд на серваке и бд на моем ноуте. Я пишу в свою бд а потом это должно автоматом реплицироваться при соединении.  Оказалось это невозможно)))
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #23, #24, #25, #29, #30, #53

23. Сообщение от Your Mama (?), 15-Июн-21, 01:15   +1 +/
Но тогда у тебя RO-реплика на серваке. Возьми MySQL и не мучайся.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #22

24. Сообщение от Аноним (24), 15-Июн-21, 01:45   +/
Это ты очень круто взял. Это полноценная распределённая база данных.

Во всяком случае все эффекты и сложность распределенных БД здесь есть.

Такое есть только у Mongodb, когда они Realm купили.

Насколько я знаю ничего другого нет и я найти не смог.

Эти ещё что-то https://objectbox.io обещают.

Но как я понимаю это очень сложная задача, rocket science.

Сложнее чем обычные распределённые БД

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #22

25. Сообщение от Анончик (?), 15-Июн-21, 05:15   +/
>запись только с одного узла

можете писать в pouchdb.
вообще оно вам не надо, рассматривайте db на стороне сервера как промежуточное хранилище клиента а не полноценную наспределенную БД.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #22

26. Сообщение от Аноним (26), 15-Июн-21, 07:15   +1 +/
Ну так это в основном у го проблема, любой другой язык лучше всего разгоняется нейтив кодом на си (или плюсах на крайняк). Я так навскидку и не назову иных случаев, когда притащить нейтив не выгодно.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #20 Ответы: #32

27. Сообщение от Аноним (27), 15-Июн-21, 07:24   –5 +/
Ну как раз доверия больше Расту, чем Го
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #4 Ответы: #52

28. Сообщение от lockywolf (ok), 15-Июн-21, 08:14   +1 +/
За базар надо отвечать. Ну-ка покажи свой гитхаб/сурсфордж. Где ты там что пишешь на лиспе?
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #20 Ответы: #35

29. Сообщение от lockywolf (ok), 15-Июн-21, 08:15   –3 +/
Вроде Access так умеет.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #22

30. Сообщение от Онаним (?), 15-Июн-21, 08:18   +/
Возьми MySQL/MariaDB и настрой репликацию, да.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #22

31. Сообщение от Аноним (6), 15-Июн-21, 08:26   +1 +/
>И по факту там не обертка, а чуть ли не весь код переписан

Там именно обёртка.
>Зачем все на го переписывать?

cgo довольно проблемная штука и к тому же весьма медленная.

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

32. Сообщение от ыы (?), 15-Июн-21, 08:57   +1 +/
Маленький инлайн ассемблер всплакнул в уголке...

То есть если у Майбаха нет дырки куда можно вставить заводную рукоятку от трактора- то это проблемы Майбаха...
Ок... :)

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #26 Ответы: #34

33. Сообщение от ыы (?), 15-Июн-21, 09:02   +/
Для Вас можем предложить Oracle или MS Sql - там BEGIN, COMMIT, ROLLBACK и т.д. поддерживаются...
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #16 Ответы: #38, #46

34. Сообщение от Аноним (26), 15-Июн-21, 09:13   –1 +/
Си тоже надо разгонять, он тоже очень тормозит. Но обычно людей устраивает ускорение до уровня си, тем более что на си проще написать любые объёмы логики и проблем не будет, а на ассебмлере придётся писать только отдельные операции и накладные расходы на разработку велики. Либо же готовый сишный код и так уже ускорен или дёргает оптимизированный ассемблер. А есть вообще языки, которые позволяет эффективно ускоряться нейтивом на асме, но не позволяют подключать си?
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #32

35. Сообщение от n00by (ok), 15-Июн-21, 09:22   +/
Это он просто перефразировал правило Гринспена.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #28

36. Сообщение от Аноним (36), 15-Июн-21, 09:53   +/
Посмотри код по ссылке.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #12

37. Сообщение от ыы (?), 15-Июн-21, 09:53   +/
Что то из описания непонятно какой уровень изоляции транзакций.
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #40, #47

38. Сообщение от Аноним (38), 15-Июн-21, 10:03   +/
А из постгреса и многих других уже выпили?
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #33 Ответы: #39

39. Сообщение от ыы (?), 15-Июн-21, 10:17   +1 +/
в постгрес нативную кластеризацию не завезли.. а многие другие- не OLTP...
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #38

40. Сообщение от ыы (?), 15-Июн-21, 10:29   +/
>This is why rqlite offers selectable read consistency levels of none, weak, and strong. Each is explained below.

Да, как же без собственноумственно придуманных названий обойтись...
А может просто не в курсе как это должно называться?

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

41. Сообщение от Аноним (41), 15-Июн-21, 10:39   –6 +/
Даже если нигде не упоминается, Rust никак не дает покоя бездарям.
На Rust все прекрасно пишется и работает, даже еще лучше.

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

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #7

42. Сообщение от Аноним (41), 15-Июн-21, 11:00   –4 +/
Что бы где бы ни было, у этого всегда будут свои фанатики.

Фанатики все переписывают и переделывают.

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

А то что больше на С писать не надо, так это Джоэл Спольски еще благословил, если что. Хотя для фанатиков разумные аргументы бессмысленны.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #10 Ответы: #45

44. Сообщение от Аноним (44), 15-Июн-21, 12:48   –1 +/
Очередная Говёшка
Ответить | Правка | Наверх | Cообщить модератору

45. Сообщение от Аноним (45), 15-Июн-21, 13:14   +3 +/
>Джоэл Спольски еще благословил

Мнение вантузоида очень важно для нас.

>Джо́эл Спо́льски — программист и писатель. Известен прежде всего как автор блога «Джоэл о программном обеспечении», в котором он обсуждает вопросы программирования, прежде всего — под Windows. В 1991—1994 годах он занимал должность менеджера по продуктам в команде Microsoft Excel.

Я уж грешным образом подумал: "что это за неизвестный авторитет в мире Юникс-лайков".

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #42 Ответы: #49

46. Сообщение от Онаним (?), 15-Июн-21, 13:26   +/
Мне MySQL хватает и SQLite.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #33

47. Сообщение от Онаним (?), 15-Июн-21, 13:26   +/
60-й
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #37 Ответы: #48

48. Сообщение от ыы (?), 15-Июн-21, 13:42   +/
такого нет.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #47

49. Сообщение от Аноним (41), 15-Июн-21, 15:50   +/
> Я уж грешным образом подумал: "что это за неизвестный авторитет в мире Юникс-лайков".

Ключевое слово здесь "неизвестный" для _вас_.

Подумали. И уже решили, вам сразу так легко удалось выйти из "грешного образа".

> В 1991—1994 годах

Сколько лет прошло, когда он из MS ушел? Знаете? Нет. А он про это писал... тогда еще.

Ну и что? Когда это было? Например, человек запускавший ракеты в США сначала вообще у фашистов начинал в годы войны. Кого это потом волновало.

Т.е. все что вы можете сказать о специалистах, это кто когда и где работал.
Вы кадровик что ли?

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

Так что ваш сарказм "очень важно для нас" получайте обратно "от нас".

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #45

50. Сообщение от Mike Lee (?), 15-Июн-21, 16:36   –1 +/
CAP-теорема на го как то иначе работает да?
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #4

51. Сообщение от Аноним (51), 16-Июн-21, 07:04   –2 +/
> Код проекта написан на языке Go и распространяется под лицензией MIT.

зокапывойте, очередной одноразовый пук

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

52. Сообщение от Аноним (27), 16-Июн-21, 10:17   –3 +/
Интересно, кто эти обиженные жизнью минусующие?
Или в мире и правда есть слепцы, которые считает какой-то там Го лучше РАСТА?))
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #27

53. Сообщение от pansa3 (?), 25-Июн-21, 03:22   +/
Так умеет Lotus/Domino . Но это очень сильное и дорогое колдунство.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #22


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

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




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

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