The OpenNET Project / Index page

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



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

Оглавление

СУБД Dolt, позволяющая манипулировать данными в стиле Git, opennews (??), 07-Мрт-21, (0) [смотреть все]

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


39. "СУБД Dolt, позволяющая манипулировать данными в стиле Git"  –3 +/
Сообщение от Аноним (49), 07-Мрт-21, 16:29 
Он стартует серверный процесс и подключается к нему по сети. Значит будет оверхед на переключение контекста, оверхед на сокет, оверхед на сериализацию, никакого прямого доступа к отображениям в памяти, да ещё и без гарантий завершения сервера, если клиентский процесс упадёт. Поэтому я мультипроцессинг так и не люблю.
Ответить | Правка | Наверх | Cообщить модератору

61. "СУБД Dolt, позволяющая манипулировать данными в стиле Git"  +/
Сообщение от Аноним (-), 07-Мрт-21, 23:18 
> Он стартует серверный процесс и подключается к нему по сети. Значит будет
> оверхед на переключение контекста, оверхед на сокет, оверхед на сериализацию, никакого
> прямого доступа к отображениям в памяти

Питон сам тормозной как трактор, так что смысла то все это оптимизировать? Чтобы знатно попахать с результатом близким к нулю?

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

75. "СУБД Dolt, позволяющая манипулировать данными в стиле Git"  +1 +/
Сообщение от kai3341 (ok), 08-Мрт-21, 01:21 
> Питон сам тормозной как трактор, так что смысла то все это оптимизировать? Чтобы знатно попахать с результатом близким к нулю?

Тоже узко. Питон позволяет подключать сишные библиотеки для числодробилок. Если вынести на python логику контроллера (которой овердохера и она часто меняется, но при этом сложной не является), то оверхед будет минимальным (см. профайлер). Если при этом ещё не тупить и использовать asyncio, то процессорное время на python-код будет минимальным

Я к чему. Не надо забивать гвозди микроскопом

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

96. "СУБД Dolt, позволяющая манипулировать данными в стиле Git"  +/
Сообщение от Аноним (-), 08-Мрт-21, 09:30 
> Тоже узко. Питон позволяет подключать сишные библиотеки для числодробилок.

База данных, наверное, не числодробилка?

> Я к чему. Не надо забивать гвозди микроскопом

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

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

73. "СУБД Dolt, позволяющая манипулировать данными в стиле Git"  +/
Сообщение от kai3341 (ok), 08-Мрт-21, 01:02 
>  Он стартует серверный процесс и подключается к нему по сети. Значит будет оверхед на переключение контекста, оверхед на сокет, оверхед на сериализацию, никакого прямого доступа к отображениям в памяти, да ещё и без гарантий завершения сервера, если клиентский процесс упадёт. Поэтому я мультипроцессинг так и не люблю.

Мне даже возразить нечего -- слишком узко мыслите, не поймёте-сс.

Что делать, если пользовательский процесс упадёт с сегфолтом посреди транзакции?

Как синхронизировать множество подключений? Через временный файл?

In-memory кэши хранить в каждом процессе, значит, свои? Как инвалидировать?
Или не кэшировать данные вовсе? Тогда что делать с производительностью?

Может, не зря индустрия БД запускает в отдельном процессе? Или миллионы опытных программистов ошибаются?

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

78. "СУБД Dolt, позволяющая манипулировать данными в стиле Git"  +/
Сообщение от Аноньимъ (ok), 08-Мрт-21, 01:50 
Смузихлебы способны и не на такое. Это вы тут узко мыслите!
Нужно все разделить на микросервисы с персональными кешами и кеширующими микросервисами. И тогда взлетит!
Ответить | Правка | Наверх | Cообщить модератору

80. "СУБД Dolt, позволяющая манипулировать данными в стиле Git"  +/
Сообщение от kai3341 (ok), 08-Мрт-21, 02:00 
> Смузихлебы способны и не на такое. Это вы тут узко мыслите!
> Нужно все разделить на микросервисы с персональными кешами и кеширующими микросервисами. И тогда взлетит!

К -- Конструктивность. Сразу видно -- Инженерище!
/thread

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

87. "СУБД Dolt, позволяющая манипулировать данными в стиле Git"  +/
Сообщение от Аноним (49), 08-Мрт-21, 09:16 
>Что делать, если пользовательский процесс упадёт с сегфолтом посреди транзакции?

Перезапустить.

>Как синхронизировать множество подключений? Через временный файл?

Многопроцессность не нужна, у нас bottleneck при импорте - случайное чтение и запись. Клиент один и только один. Если остальные клиенты подключаются во время импорта - значит их проблемы.


>In-memory кэши хранить в каждом процессе, значит, свои? Как инвалидировать? Или не кэшировать данные вовсе? Тогда что делать с производительностью?

Да, свои, но у нас только один процесс. Вопрос только в том, зачем вообще хранить свои кеши, если кеширование - это забота ОС, а забота разраба базы данных - иметь отображение на часть файла, которую надо кешировать?

>Может, не зря индустрия БД запускает в отдельном процессе? Или миллионы опытных программистов ошибаются?

У них другие задачи. Эта же база изначально позиционируется как база для хранения datasetов и заливки их на их dolthub. Для хранения datasetов нужна не сетевая база, а встраиваемая, можно вообще не базу, а HDF-файл.

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

126. "СУБД Dolt, позволяющая манипулировать данными в стиле Git"  +/
Сообщение от kai3341 (ok), 08-Мрт-21, 22:13 
> Перезапустить

Отлично. Опыта работы с БД у вас нет -- иначе вы бы знали, что такой фокус закончится повреждением структуры БД. Её кто-то должен восстановить. Или нет? Когда это должно произойти?

Поехали дальше. Кто её должен перезапустить? Сколько раз?

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

То есть тот факт, что вы в своём маня-мирке не видите смысла и возможности подключения нескольких клиентов к одной БД -- это проблемы БД

> bottleneck при импорте - случайное чтение и запись

Расскажу страшную тайну. Предметная область в первую очередь определяет сценарий работы с БД. В каких-то таблицах это случайный доступ, другие работают в режиме append-only, третьи работают в режиме "меняются только последние записи", а в четвёртых часто происходит rollback. И это только верхушка айсберга. Это я к чему -- bottleneck может быть где угодно. Узко мыслите, слишком узко

> Да, свои, но у нас только один процесс

У *тебя* один процесс. Кто-то процессит сотни гигабайт данных, например, по астрономии -- там необходимо процессить параллельно. Если у тебя данных мало, раз хватает одной машины, это не значит, что у всех остальных данных тоже мало. Или ты думал, БД разрабатывается исключительно под твои нужды?

> если кеширование - это забота ОС

Оказывается, redis, memcached, ElasticCache не нужны -- это всё должна разруливать ОС. Пацаны то и не знали. Может, расскажешь, как ОС должна решать эти проблемы? ОС за тебя должна догадываться, что одни данные надо закэшировать, а другие нет? По какому алгоритму?
PS: io-кэш никто не отменял. Только вот расскажи, как ОС должна обрабатывать ситуацию, когда в фоне у тебя данные процессятся (то есть происходит постоянное чтение входных данных и запись выходных), в фоне же торрент качает и раздаёт, а сам ты интернеты сёрфишь (а браузер тоже кэширует кучу всего). Что должно оказаться в кэше?

> Для хранения datasetов нужна не сетевая база, а встраиваемая, можно вообще не базу, а HDF-файл.

Я чуть выше говорил, что это только твой кейс. Из этого не следует, что других кейсов не существует. Будь то астрономия или биоинформатика -- там огромные объёмы данных, которые отпроцессить надо за конечное время, и мультипроцессинг и множество нод -- жизненная необходимость

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

146. "СУБД Dolt, позволяющая манипулировать данными в стиле Git"  +/
Сообщение от Аноним (146), 10-Мрт-21, 10:01 
>Отлично. Опыта работы с БД у вас нет -- иначе вы бы знали, что такой фокус закончится повреждением структуры БД. Её кто-то должен восстановить. Или нет? Когда это должно произойти?

Это только если отключён журнал. Отключение журнала повысит производительность, но ненамного. Прирост не стоит риска.

>Её кто-то должен восстановить. Или нет? Когда это должно произойти?

Она сама, при перезапуске. Повреждение будет только если файлы журналов стереть.

>То есть тот факт, что вы в своём маня-мирке не видите смысла и возможности подключения нескольких клиентов к одной БД -- это проблемы БД

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

>Оказывается, redis, memcached, ElasticCache не нужны -- это всё должна разруливать ОС. Пацаны то и не знали. Может, расскажешь, как ОС должна решать эти проблемы? ОС за тебя должна догадываться, что одни данные надо закэшировать, а другие нет? По какому алгоритму?

По тому же, по которому она свопит.

>Только вот расскажи, как ОС должна обрабатывать ситуацию, когда в фоне у тебя данные процессятся (то есть происходит постоянное чтение входных данных и запись выходных), в фоне же торрент качает и раздаёт, а сам ты интернеты сёрфишь (а браузер тоже кэширует кучу всего). Что должно оказаться в кэше?

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


>Это я к чему -- bottleneck может быть где угодно. Узко мыслите, слишком узко
>У *тебя* один процесс.
>Я чуть выше говорил, что это только твой кейс. Из этого не следует, что других кейсов не существует.

Аргументы приняты. Я тут в основном свой случай и обсуждаю. Просто для меня возня с процессами не стоит выигрыша. В плюсовом импортере попробую поспавнить потоки.

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

149. "СУБД Dolt, позволяющая манипулировать данными в стиле Git"  +/
Сообщение от kai3341 (ok), 11-Мрт-21, 15:03 
> Это только если отключён журнал. Отключение журнала повысит производительность, но ненамного. Прирост не стоит риска.

Это забавный тонкий момент. Журнал как раз позволяет восстановить структуру в автоматическом режиме. От повреждения данных журнал не защищает. А вопрос был про восстановление. Классика -- рестарт сервиса после аварии. Не менее классика -- стартует одновременно более 10 инстансов процесса -- производительности всегда мало. Далее они одновременно обнаруживают, что БД повреждена и как-то должны договориться, кто из них восстанавливает её из журнала. Вот в этом самом момента важно не воспроизвести мемас про девушку и негров. Тут возможно много yблюдских и не очень решений. Вот я и спрашивал -- какое из yблюдских и не очень решений применить здесь? Видимо, оно же будет применяться и для синхронизации транзакций при штатной работе БД. И ещё раз повторю вопрос: какое решение нужно применить для синхронизации разных рабочих процессов?

> Она сама, при перезапуске. Повреждение будет только если файлы журналов стереть.

О, тут ещё есть интересный грабледром. Попробуй штатно остановить постгрю и стереть её журналы -- повреждения и не будет, да?
PS: не делай этого.

> По тому же, по которому она свопит.

Идея почти гуд. Объяснишь, зачем тогда добавлялись флаги O_DIRECT, O_DSYNC, O_RSYNC и O_SYNC? Почему они активно используются серверами БД?

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

97. "СУБД Dolt, позволяющая манипулировать данными в стиле Git"  +1 +/
Сообщение от Аноним (-), 08-Мрт-21, 09:32 
> Что делать, если пользовательский процесс упадёт с сегфолтом посреди транзакции?

Актуальная проблема для питонистов, только обычно падает с трехэтажным стектрейсом сам кусок питона, потому что при его кодинге гнали как на пожар и на всякие там отклонения от идеаа клали болт. А если там сеть упала, памяти не хватило или там что еще - УПС.

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

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

125. "СУБД Dolt, позволяющая манипулировать данными в стиле Git"  –1 +/
Сообщение от kai3341 (ok), 08-Мрт-21, 21:18 
> Актуальная проблема для питонистов, только обычно падает с трехэтажным стектрейсом сам кусок питона, потому что при его кодинге гнали как на пожар и на всякие там отклонения от идеаа клали болт. А если там сеть упала, памяти не хватило или там что еще - УПС.

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

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

Ярлыки.

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

130. "СУБД Dolt, позволяющая манипулировать данными в стиле Git"  +1 +/
Сообщение от Аноним (-), 08-Мрт-21, 23:47 
> Оказывается, проблема питона в стэктрейсах. Вы их боитесь? Они вас обидели?

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

> Ярлыки.

Статистические наблюдения.

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

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

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




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

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