powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Плюсы против голого Си, холивар #9
228 сообщений из 228, показаны все 10 страниц
Плюсы против голого Си, холивар #9
    #37929929
Фотография iv_an_ru
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
(начало здесь )
...
Рейтинг: 0 / 0
Плюсы против голого Си, холивар #9
    #37929955
iv_an_ruПроясним ситуацОткрой для себя стандартные POSIX getcontext, setcontext...тогда уж просто pthreads и заюзать, вспоминая, что "The obsolescent functions getcontext(), makecontext(), and swapcontext() can be replaced using POSIX threads functions." :)
Да, конечно проще, заодно и смириться, что для 1000 keep-alive коннектов нам придется зарезервировать примерно 32 гигабайта памяти чисто под стек (одна сессия - один тред, 32 метра стека на тред).

Ура ура.


iv_an_ruМешает ровно один грустный факт --- вы этим все реплицированные данные нод размножили в 16 экземплярах. А кэш проца вы не размножили.
Какая-то откровенная ерунда. А что, при pthreads кеш процессоров размножается? Да неужели?

iv_an_ruНу и ещё куча мелочей, вроде возможности зарезервировать гигов пять на ноду под тяжёлые буферы, пока это 5*4=20 гигов на ящик, и невозможность --- если это 16*5*4 гигов на ящик.
Я сказал - mmap можно привязать к конкретной ноде, в чем проблема? Ты не знаешь что такое mmap и евойный map_policy?

iv_an_ruПроясним ситуацАх да, сервер баз данных тоже свой, из отряда доработанного dbmМолодец, возьми с полки пирожок. Но есть ньюанс --- за 30 с хвостиком последних лет аппетиты приложений слегка подросли, и в возможности *дэбээм не влезают никак. соответственно и инструментарий на серверной стороне слегка поменялся.

Расскажи это чувакам из redis и facebook (которые юзают mysql исключительно как key-value стораж), заодно и услышишь
от них авторитетное мнение о твоих .... ээээ.... экспертных познаниях об аппетитах приложений.

Детский сад, право.

Ты походу вообще выпал из струи прогресса и современных highload течений.
...
Рейтинг: 0 / 0
Плюсы против голого Си, холивар #9
    #37929960
iv_an_ruМешает ровно один грустный факт --- вы этим все реплицированные данные нод размножили в 16 экземплярах. А кэш проца вы не размножили.

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

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

Что-то у тебя совсем плохо с основами.
...
Рейтинг: 0 / 0
Плюсы против голого Си, холивар #9
    #37929977
Фотография vromanov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мы мешаем С и С++. С++ там, где нужна типизация, динамические массивы итд.
С в остальных местах. Потоки не используем, вместо них процессы. Обмен данными через mmap.
...
Рейтинг: 0 / 0
Плюсы против голого Си, холивар #9
    #37929978
Фотография iv_an_ru
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Проясним ситуацiv_an_ruпропущено...
тогда уж просто pthreads и заюзать, вспоминая, что "The obsolescent functions getcontext(), makecontext(), and swapcontext() can be replaced using POSIX threads functions." :)
Да, конечно проще, заодно и смириться, что для 1000 keep-alive коннектов нам придется зарезервировать примерно 32 гигабайта памяти чисто под стек (одна сессия - один тред, 32 метра стека на тред).А зачем? Мы 50-100 килобайт на нить даём. Для исключительно тяжёлых работ, вроде обработки гигабайтных XML-ек или некоторых заведомо кривых и больших хранимок --- 150.

Проясним ситуацiv_an_ruМешает ровно один грустный факт --- вы этим все реплицированные данные нод размножили в 16 экземплярах. А кэш проца вы не размножили. Какая-то откровенная ерунда. А что, при pthreads кеш процессоров размножается? Да неужели?Да нет, не размножается, просто общие данные нитей валяются в единственном экземпляре.

Проясним ситуацiv_an_ruНу и ещё куча мелочей, вроде возможности зарезервировать гигов пять на ноду под тяжёлые буферы, пока это 5*4=20 гигов на ящик, и невозможность --- если это 16*5*4 гигов на ящик.Я сказал - mmap можно привязать к конкретной ноде, в чем проблема? Ты не знаешь что такое mmap и евойный map_policy?А при чём тут mmap? Вот надо мне на коротенькую долю секунды здоровенный буфер под джойн в памяти. У меня что, два процесса должны договариваться, кто сейчас может заюзать общие пять гигов, а кто будет ждать? И это всё через IPC? Да на кой мне это надо, такие лишние тормоза?

Проясним ситуацДва - шарды на то и шарды, чтобы иметь разделение по некому хеш ключу, говоря проще, каждая шарда хранит строго свои наборы данных, мапит свои файлы, и обслуживает строго свои группы клиентов, никаких конкурентных доступов там и близко не предвидится.Схему БД тоже будем шардить? Хранимки? Юзеров с их полномочиями? Все конфиги и всю топологию кластера? Этого добра может быть дофигища. У меня прям сейчас в одном примере приходится держать в памяти 50 млн только access control list-ов, они жаты пережаты, а все равно гиг на ноду, одно только их активное подмножество изрядно портит настроение кэшу, а если их на 12 помножить, то кластер будет занят не работой, а проверкой полномочий.

Проясним ситуацРасскажи это чувакам из redis и facebook (которые юзают mysql исключительно как key-value стораж), заодно и услышишь от них авторитетное мнение о твоих .... ээээ.... экспертных познаниях об аппетитах приложений.Вы лучше расскажите про key-value каким-нибудь генетикам или картографам, у которых кодогенераторы запросто рисуют SQL-запросы длиной под 200 килобайт. Предложите им развернуть эти запросы в беготню по хэштаблицам --- генетики со знанием всей специальной терминологии пройдутся по всем вашим ни в чём не повинным предкам.
Я понимаю ваше желание ограничиться простейшими инструментами, но так уж жизнь устроена, что надо выбирать, когда стоит юзать простейший, а когда и посложнее.

Проясним ситуацТы походу вообще выпал из струи прогресса и современных highload течений.Странно, а чем же я тогда занимаюсь-то?
...
Рейтинг: 0 / 0
Плюсы против голого Си, холивар #9
    #37929980
Фотография iv_an_ru
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vromanovМы мешаем С и С++. С++ там, где нужна типизация, динамические массивы итд. С в остальных местах.Ну так и разумно делаете. Оно и надо без фанатизма в какую-то одну сторону.
...
Рейтинг: 0 / 0
Плюсы против голого Си, холивар #9
    #37929984
Фотография vromanov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Как-то так (строки кода):
sh 15620
sql 1356
cpp 36988
ansic 37846

sh - это кодогенатор на баше, который генерит еще 150 тысяч строк кода.
...
Рейтинг: 0 / 0
Плюсы против голого Си, холивар #9
    #37929990
iv_an_ruА при чём тут mmap? Вот надо мне на коротенькую долю секунды здоровенный буфер под джойн в памяти. У меня что, два процесса должны договариваться, кто сейчас может заюзать общие пять гигов, а кто будет ждать? И это всё через IPC? Да на кой мне это надо, такие лишние тормоза?
То что ты не знаешь, что такое mmap я уже понял, то что ты так и не понял, что процессам НЕ НУЖНО договариваться, потому что данные разделены по ключу - я тоже понял.

Ну что, ты не читаешь или не понимаешь то, что тебе пишут - тоже понятно, ну что с тебя взять?

iv_an_ruСхему БД тоже будем шардить? Хранимки? Юзеров с их полномочиями? Все конфиги и всю топологию кластера? Этого добра может быть дофигища.
Все статичные данных загружаются стартовым процессом сразу в память, помечаются как R/O, а после fork эти страницы памяти разделяются между всеми порожденными копиями основного процесса, разделяются, а не копируются - учи основы. Хранимки? Ок, если считать под хранимками обычный C код, который обрабатывает dbm базу данных - то код "хранимок" также хранится в одной физической области памяти, которая R/O и шарится между всеми шардами - опять учи основы.

iv_an_ru У меня прям сейчас в одном примере приходится держать в памяти 50 млн только access control list-ов, они жаты пережаты, а все равно гиг на ноду, одно только их активное подмножество изрядно портит настроение кэшу, а если их на 12 помножить, то кластер будет занят не работой, а проверкой полномочий.
Еще раз, ты или прикидываешься идиотом, или я даже не знаю, как тебя еще называть

50 млн acl в случае шардинга на 16 нот разделяются на секции по 50/16, хеш ключом, т.е. на одной шарде хранится по 3.2 миллиона, а не по 50. Иди почитай еще раз статью про шардинг, хватит уже тупить.


iv_an_ruСтранно, а чем же я тогда занимаюсь-то?
Похоже какими-то страшно кривыми провинциальными глупостями. Хотя оно у тебя все как-то работает, и ладушки, но ничего интересного ты пока даже близко не рассказал, разве про типовые заблуждения из древних тупиковых архитектур понарассказывал.
...
Рейтинг: 0 / 0
Плюсы против голого Си, холивар #9
    #37929995
vromanovМы мешаем С и С++. С++ там, где нужна типизация, динамические массивы итд.
С в остальных местах. Потоки не используем, вместо них процессы. Обмен данными через mmap.

В C есть типизация - структуры.Gприсваивать структуры разных типов запрещено, при переприсваивании указателей несовместимых типов - компилятор генерятся warnings как минимум. В общем по C++ незачет.

Динамические массивы на C есть с 70х годов - изучите уже realloc. Незачет в квадрате.
...
Рейтинг: 0 / 0
Плюсы против голого Си, холивар #9
    #37930000
Фотография iv_an_ru
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Проясним ситуацiv_an_ruА при чём тут mmap? Вот надо мне на коротенькую долю секунды здоровенный буфер под джойн в памяти. У меня что, два процесса должны договариваться, кто сейчас может заюзать общие пять гигов, а кто будет ждать? И это всё через IPC? Да на кой мне это надо, такие лишние тормоза?
То что ты не знаешь, что такое mmap я уже понял, то что ты так и не понял, что процессам НЕ НУЖНО договариваться, потому что данные разделены по ключу - я тоже понял.

Ну что, ты не читаешь или не понимаешь то, что тебе пишут - тоже понятно, ну что с тебя взять?Ещё раз. _Не_все_ данные разумно пилить между нодами. _Не_все_ задачи сводятся к толпе юзеров, которые флудят на фейсбуке, никак кроме спама друг с другом не связаны и шардятся как угодно.

Проясним ситуацiv_an_ruСхему БД тоже будем шардить? Хранимки? Юзеров с их полномочиями? Все конфиги и всю топологию кластера? Этого добра может быть дофигища.
Все статичные данных загружаются стартовым процессом сразу в память, помечаются как R/O, а после fork эти страницы памяти разделяются между всеми порожденными копиями основного процесса, разделяются, а не копируются - учи основы. Хранимки? Ок, если считать под хранимками обычный C код, который обрабатывает dbm базу данных - то код "хранимок" также хранится в одной физической области памяти, которая R/O и шарится между всеми шардами - опять учи основы.Увы, в жизни это не статические данные, да и хранимки не на сях пишутся и не раз навсегда.

Проясним ситуацiv_an_ru У меня прям сейчас в одном примере приходится держать в памяти 50 млн только access control list-ов, они жаты пережаты, а все равно гиг на ноду, одно только их активное подмножество изрядно портит настроение кэшу, а если их на 12 помножить, то кластер будет занят не работой, а проверкой полномочий.
Еще раз, ты или прикидываешься идиотом, или я даже не знаю, как тебя еще называть

50 млн acl в случае шардинга на 16 нот разделяются на секции по 50/16, хеш ключом, т.е. на одной шарде хранится по 3.2 миллиона, а не по 50. Иди почитай еще раз статью про шардинг, хватит уже тупить.А что, уже придумали шардинг по зависимым полям, не только по ключам? Или каждую выборку из защищённой колонки таблицы надо будет снабдить лишним распределённым джойном ко всем нодам, в которых лежат секции ACL? Кто, спрашивается, прикидывается здесь идиотом?

Проясним ситуацiv_an_ruСтранно, а чем же я тогда занимаюсь-то?
Похоже какими-то страшно кривыми провинциальными глупостями. Хотя оно у тебя все как-то работает, и ладушки, но ничего интересного ты пока даже близко не рассказал, разве про типовые заблуждения из древних тупиковых архитектур понарассказывал.[/quot]Ну древние. Ну тупиковые. Правда, вы начали с того, что поставили mysql в пример, а мы его почему-то регулярно и по скорости делаем и тем более по функционалу.
...
Рейтинг: 0 / 0
Плюсы против голого Си, холивар #9
    #37930003
iv_an_ruЕщё раз. _Не_все_ данные разумно пилить между нодами. _Не_все_ задачи сводятся к толпе юзеров, которые флудят на фейсбуке, никак кроме спама друг с другом не связаны и шардятся как угодно.
Приведи пример задачи. Пока ты привел acl - там как раз тупейшее пиление именно по юзерам.

iv_an_ruУвы, в жизни это не статические данные, да и хранимки не на сях пишутся и не раз навсегда.
Кофигурация кластера - это именно статические данные. Если вы не умеете делать кластеры и писать хранимки на сях...
Ну это лишь показывает ваш уровень "развития", гордиться нечем.

iv_an_ruА что, уже придумали шардинг по зависимым полям, не только по ключам? Или каждую выборку из защищённой колонки таблицы надо будет снабдить лишним распределённым джойном ко всем нодам, в которых лежат секции ACL? Кто, спрашивается, прикидывается здесь идиотом?
Господи, что за тупость? Какие еще нахрен джойны? Что с чем джойнить? ref_id в name для справочника на SQL?
Вы там реально мохом позарастали. Откройте для себя уже денормализацию, право.

iv_an_ruНу древние. Ну тупиковые. Правда, вы начали с того, что поставили mysql в пример,
Это не пример, а лишь образец проекта на C. С вкраплениями гамнокода на C++, как выяснилось довольно быстро.
Впрочем, я mysql не пользуюсь, так что мне на это все до лампочки.

iv_an_ru а мы его почему-то регулярно и по скорости делаем и тем более по функционалу.
Кто это мы?

Что вы там делаете? У меня модифицированный dbm отрабатывает 450к записей в секунду на запись в одной ноде и примерно 800к на чтение, и? mysql на этой задаче барахтался с показателем 3к и 7к, тоже мне невидаль.

Только идиот сейчас станет использовать SQL подобное для нового проекта для highload
...
Рейтинг: 0 / 0
Плюсы против голого Си, холивар #9
    #37930006
Фотография vromanov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Проясним ситуацВ C есть типизация - структуры.Gприсваивать структуры разных типов запрещено, при переприсваивании указателей несовместимых типов - компилятор генерятся warnings как минимум. В общем по C++ незачет.

Динамические массивы на C есть с 70х годов - изучите уже realloc. Незачет в квадрате.
В с нет нормальной типизации для перечислений, а нам это важно.
реалок это не динамический массив, это всего лишь возможность изменить рамзер выделенного буффера. Чтобы это стало ТИПИЗОВАННЫМ динамическим массивом надо очень много навертеть. Пока с этой работой лучше справлется vector<>. У него етсть свои недостатки, но для нас они не кртичны. В планах есть избавиться от них, но уж точно не перйти на realloc
...
Рейтинг: 0 / 0
Плюсы против голого Си, холивар #9
    #37930011
vromanovПроясним ситуацВ C есть типизация - структуры.Gприсваивать структуры разных типов запрещено, при переприсваивании указателей несовместимых типов - компилятор генерятся warnings как минимум. В общем по C++ незачет.

Динамические массивы на C есть с 70х годов - изучите уже realloc. Незачет в квадрате.
В с нет нормальной типизации для перечислений, а нам это важно.
Скажем так - вам хочется верить в то, что вам это важно.

vromanovреалок это не динамический массив, это всего лишь возможность изменить рамзер выделенного буффера. Чтобы это стало ТИПИЗОВАННЫМ динамическим массивом надо очень много навертеть.
Ага, очень, очень много

myarr = (*myarr_t) realloc(myarr, ....)

НУ ОЧЕНЬ, ОЧЕНЬ МНОГО

vromanov Пока с этой работой лучше справлется vector<>. У него етсть свои недостатки, но для нас они не кртичны. В планах есть избавиться от них, но уж точно не перйти на realloc

Смешно и печально. С++ мозга такое C++.
...
Рейтинг: 0 / 0
Плюсы против голого Си, холивар #9
    #37930014
Фотография vromanov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
myarr = (*myarr_t) realloc(myarr, ....)

НУ ОЧЕНЬ, ОЧЕНЬ МНОГО

Детский сад..
...
Рейтинг: 0 / 0
Плюсы против голого Си, холивар #9
    #37930017
vromanovmyarr = (*myarr_t) realloc(myarr, ....)

НУ ОЧЕНЬ, ОЧЕНЬ МНОГО

Детский сад..

Это все, что ты способен сказать?
...
Рейтинг: 0 / 0
Плюсы против голого Си, холивар #9
    #37930028
Фотография iv_an_ru
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Проясним ситуацiv_an_ruЕщё раз. _Не_все_ данные разумно пилить между нодами. _Не_все_ задачи сводятся к толпе юзеров, которые флудят на фейсбуке, никак кроме спама друг с другом не связаны и шардятся как угодно.
Приведи пример задачи. Пока ты привел acl - там как раз тупейшее пиление именно по юзерам.Не, в теории-то можно и распилить. Если не интересует скорость в результате. Потому что в той задаче все остальные данные никаким боком _не_ шардятся по юзерам.

Проясним ситуацiv_an_ruУвы, в жизни это не статические данные, да и хранимки не на сях пишутся и не раз навсегда.Кофигурация кластера - это именно статические данные.За аптайм в кластере несколько нод успеют сдохнуть, все машины в очередь запросто сходят на апгрейд, а часто ещё и количество машин удвоится. Про схему и хранимки даже не заикаюсь. Ну очень статические данные.

Проясним ситуацЕсли вы не умеете делать кластеры и писать хранимки на сях...Сколько будет стоить написать на сях эквивалент одного хотя бы 20-килобайтного скуля? А хранимки с десятком таких запросов? И не устареет ли эта хранимка за время её написания? А если это ad-hoc запрос, то не помрёт ли пациент, пока вы напишете (и отладите!) запрос, который из всех медкарт отберёт случаи с наиболее похожими томограммами черепушки и выдаст чем лечили и что получилось?

Проясним ситуацВы там реально мохом позарастали. Откройте для себя уже денормализацию, право.Вы не поверите, мы в курсе про денормализацию. Только, опять таки, знаем, когда и где её надо применять, а когда --- нет.

Проясним ситуацЧто вы там делаете?Ну я ж не аноним, сами можете догадаться. Вы же гордились, что читать умеете.

Проясним ситуацУ меня модифицированный dbm отрабатывает 450к записей в секунду на запись в одной ноде и примерно 800к на чтение, и?Ну и сколько кверимиксов в час он выдаст на BSBM? А сколько покажет на TPC-H? Нисколько? Тогда зачем устраивать пузомерку c RDBMS?

Проясним ситуацТолько идиот сейчас станет использовать SQL подобное для нового проекта для highloadДлинноват получается список "идиотов". Эти "идиоты" упорно не хотят ходить строем, каждый из низ выбирает ровно то, что ему подходит больше. А иногда --- о ужас! --- они используют сразу несколько разных инструментов для разных подзадач.
...
Рейтинг: 0 / 0
Плюсы против голого Си, холивар #9
    #37930037
iv_an_ruПроясним ситуацпропущено...

Приведи пример задачи. Пока ты привел acl - там как раз тупейшее пиление именно по юзерам.Не, в теории-то можно и распилить. Если не интересует скорость в результате. Потому что в той задаче все остальные данные никаким боком _не_ шардятся по юзерам.
Приведи пример данных, которые не шарятся.

Вопрос #2 - что мешает их, эти данные, расшрить через mmap (MAP_SHARED), просто тупо загрузив из базы данных в разделяемую память?

iv_an_ruЗа аптайм в кластере несколько нод успеют сдохнуть, все машины в очередь запросто сходят на апгрейд, а часто ещё и количество машин удвоится. Про схему и хранимки даже не заикаюсь. Ну очень статические данные.
Ты или в очередной раз решил продемонстрить свое "слышал звон", или... даже уже не смешно.

Откройте для себя carp/ucarp/VRRP или HSRP. Конфигурация кластера - статична, и предопределена заранее. Если падает нода - резервная автоматом встает заместо нее, пока блейд меняют. Плюс ноды заранее создаются прореженными, фактически один шард обслуживает несколько IPников, при перебалансировке - просто шарда сплиттится автоматом (данные предварительно копируются на новую ноду).

Вот уже позорище, ёмое. Динамическая конфигурация кластера - это пять. В фортунки навечно!

архЕткторы блин.

iv_an_ruПроясним ситуацЕсли вы не умеете делать кластеры и писать хранимки на сях...Сколько будет стоить написать на сях эквивалент одного хотя бы 20-килобайтного скуля? А хранимки с десятком таких запросов? И не устареет ли эта хранимка за время её написания? А если это ad-hoc запрос, то не помрёт ли пациент, пока вы напишете (и отладите!) запрос, который из всех медкарт отберёт случаи с наиболее похожими томограммами черепушки и выдаст чем лечили и что получилось?
Еще раз - не умеете делать высоконагруженные базы данных, пишете хранимки на SQL - гордиться нечем.
Стыд и срам по перфомансу и не только.


iv_an_ruПроясним ситуацВы там реально мохом позарастали. Откройте для себя уже денормализацию, право.Вы не поверите, мы в курсе про денормализацию. Только, опять таки, знаем, когда и где её надо применять, а когда --- нет.
Судя по джойнам, которые упоминаются уже пятый раз - вы там походу НИХРЕНА не знаете.

А если и знаете - то уж точно применять знание не умеете.

iv_an_ruНу и сколько кверимиксов в час он выдаст на BSBM? А сколько покажет на TPC-H? Нисколько? Тогда зачем устраивать пузомерку c RDBMS?
Мне откровенно плевать на TPC-H. Я только знаю, что вместо 200 серверов на mysql у меня работает всего два, остальное мне - глубоко до лампочки.

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

95% населения - идиоты. Это ни для кого не секрет.


----

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

Расскажи хоть что-то новое, а?
...
Рейтинг: 0 / 0
Плюсы против голого Си, холивар #9
    #37930039
Фотография vromanov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Это все, что ты способен сказать?
Попробую объяснить на примере. Есть приложение. В нем используются ipv4 ip адреса. Они хранятся в базе, выодтся на печать, получаются по сети. Есть два варинта представления IP - сетевое и хостовое. Например 16.17.18.19 может быть закодирован как 0x10111213 или как 0x13121110. Есть функции типа uint32_t get_some_network_ip() и void print_host_ip(uint32_t ip). Задача сделать так,чтобы не получалось скомпилировать print_host_ip(get_some_network_ip());

И при этом не было мучительно больно писать такой код. К сожалеию сделать
typedef uint32_t host_ip_t;
typedef uint32_t net_ip_t;
не помогает. Т.к. типы host_ip_t и net_ip_t будут соместимы. Можно обернуть в структуры.. Но это будет через жопу. Есть другие решения?
...
Рейтинг: 0 / 0
Плюсы против голого Си, холивар #9
    #37930041
Edd.Dragon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мне вот искренне интересно, с какого перепугу профессионал будет строчить столько буквов в каких-то там форумах ради убеждения себя в своем профессионализме?

Или есть другие цели всего этого детсада?
У меня, к примеру, предел в 3-4 содержательных поста в адрес троллей в сутки. Дальше уже времени жалко.

А тут прям пишет и пишет не покладая рук. Неужели настолько сомневается в себе? Это ж печаль и повод обратиться к психологу.


Чувак, ты реально утомил. Оригинальные мысли у тебя будут или нет? (с)
...
Рейтинг: 0 / 0
Плюсы против голого Си, холивар #9
    #37930043
vromanovне помогает. Т.к. типы host_ip_t и net_ip_t будут соместимы. Можно обернуть в структуры.. Но это будет через жопу. Есть другие решения?

Т.е. через классы и темплейты - это не через жопу, а через структуры - через жопу?

Извини, я не настолько спец по жопам.
...
Рейтинг: 0 / 0
Плюсы против голого Си, холивар #9
    #37930044
Edd.DragonМне вот искренне интересно, с какого перепугу профессионал будет строчить столько буквов в каких-то там форумах ради убеждения себя в своем профессионализме?

Или есть другие цели всего этого детсада?
Это просто верификация подходов на обычных смертных. Вернее, в данном случае - оценка их реакции, когда вместо 200 серверов им предложат технологию, которая позволит оставить всего 2, правда придется прочитать мануал на 50 листиков.

Пока результаты печальны - простые смертные настолько зашорены и зашуганы, что починить им разум просто так не получится.

Edd.DragonУ меня, к примеру, предел в 3-4 содержательных поста в адрес троллей в сутки. Дальше уже времени жалко.
У тебя вообще нет ни одного хоть как-то осмысленного поста. Ты лишь генеришь бессмысленный и никому нафиг не нужный информационный шум.

Edd.DragonА тут прям пишет и пишет не покладая рук. Неужели настолько сомневается в себе? Это ж печаль и повод обратиться к психологу.
Обратись сам, заодно выяснишь - на кой хрен ты постаешь тут на скуль свои нафиг никому не нужные "мысли."


Edd.DragonЧувак, ты реально утомил. Оригинальные мысли у тебя будут или нет? (с)
У меня все мысли - оригинальные. Это у тебя просто разум настолько незрел, для тебя все это это лишь "блаблабла".

Так не для тебя пишется, любимого. Иди лучше телик посмотри, под пивас.
...
Рейтинг: 0 / 0
Плюсы против голого Си, холивар #9
    #37930046
Фотография iv_an_ru
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Проясним ситуацiv_an_ruпропущено...
Не, в теории-то можно и распилить. Если не интересует скорость в результате. Потому что в той задаче все остальные данные никаким боком _не_ шардятся по юзерам.
Приведи пример данных, которые не шарятся.

Вопрос #2 - что мешает их, эти данные, расшрить через mmap (MAP_SHARED), просто тупо загрузив из базы данных в разделяемую память?Потому что все они в память тупо не влезут, а надеяться на то, что ОС вслепую, не зная специфики приложения, исхитрится правильно спланировать вытеснение дисковых буферов на несколько физических томов (и закачку нужных с тех же томов) --- очень наивно.

Проясним ситуацiv_an_ruЗа аптайм в кластере несколько нод успеют сдохнуть, все машины в очередь запросто сходят на апгрейд, а часто ещё и количество машин удвоится. Про схему и хранимки даже не заикаюсь. Ну очень статические данные.
Откройте для себя carp/ucarp/VRRP или HSRP.Увы, нужна именно реальная конфигурация, потому что читать надо поровну со всех копий ноды, а писать --- на все разом, при этом обеспечивая правильную транзакционную семантику.

Проясним ситуацiv_an_ruпропущено...
Сколько будет стоить написать на сях эквивалент одного хотя бы 20-килобайтного скуля? А хранимки с десятком таких запросов? И не устареет ли эта хранимка за время её написания? А если это ad-hoc запрос, то не помрёт ли пациент, пока вы напишете (и отладите!) запрос, который из всех медкарт отберёт случаи с наиболее похожими томограммами черепушки и выдаст чем лечили и что получилось?
Еще раз - не умеете делать высоконагруженные базы данных, пишете хранимки на SQL - гордиться нечем.Это ответ на вопрос "сколько...". Понятно.

[quot Проясним ситуац]iv_an_ruпропущено...
Вы не поверите, мы в курсе про денормализацию. Только, опять таки, знаем, когда и где её надо применять, а когда --- нет.
Судя по джойнам, которые упоминаются уже пятый раз - вы там походу НИХРЕНА не знаете.А что, реляционную алгебру уже отменили? Теперь положено просто хранить базы готовых ответов на все случаи жизни? Увы, это не всегда возможно, потому что нет списка готовых вопросов.

Проясним ситуацiv_an_ruНу и сколько кверимиксов в час он выдаст на BSBM? А сколько покажет на TPC-H? Нисколько? Тогда зачем устраивать пузомерку c RDBMS?Мне откровенно плевать на TPC-H. Я только знаю, что вместо 200 серверов на mysql у меня работает всего два, остальное мне - глубоко до лампочки.Если вам глубоко до лампочки, чем занимаются другие люди, то зачем вы их пытаетесь учить?

Проясним ситуац95% населения - идиоты. Это ни для кого не секрет.Пока что секрет --- входите ли вы в оставшиеся 5%, или мы с вами вместе составляем интеллектуальное большинство.

Проясним ситуацРасскажи хоть что-то новое, а?Нафига? Вам же "откровенно плевать" и "глубоко до лампочки".
...
Рейтинг: 0 / 0
Плюсы против голого Си, холивар #9
    #37930051
iv_an_ruПотому что все они в память тупо не влезут, а надеяться на то, что ОС вслепую, не зная специфики приложения, исхитрится правильно спланировать вытеснение дисковых буферов на несколько физических томов (и закачку нужных с тех же томов) --- очень наивно.
Еще раз. Ты читал man mmap?

Ну пойди прочитай. Отображенный в память файл - это не буфер, и уж тем более не файловый и не дисковый буфер.
Про madvise ты как я понял тоже - даже не попытался почитать руководство.

Это пять. Профессионализм видно невооруженным взглядом.

iv_an_ruУвы, нужна именно реальная конфигурация, потому что читать надо поровну со всех копий ноды, а писать --- на все разом, при этом обеспечивая правильную транзакционную семантику.
Походу ты даже не прочитал, что это такое UCARP/CARP. Опять попадание в десятку. Очень приятно рассказать человеку о полетах в космос, а он тебе отвечает, ну да, дескать у него картошка не взошла в этом году, потому самогон не удался....

iv_an_ruЭто ответ на вопрос "сколько...". Понятно.
Господи, что тебе понятно? При наличии библиотеки поверх dbm манипуляция курсорами и выборками занимает столько-же кода, сколько и на PL/SQL, T-SQL, и даже меньше. Так устроит?

iv_an_ruА что, реляционную алгебру уже отменили? Теперь положено просто хранить базы готовых ответов на все случаи жизни? Увы, это не всегда возможно, потому что нет списка готовых вопросов.
Нет, теперь положено хранить таблицы уже денормализованные, в случае документ-строка - уже сразу кластеризованные (документ и строки в одном блоке данных), а не джойнить их каждый раз со справочниками и между собой.

Не знал? Ну джойнь дальше, тыж не зря SQL выучил, ага.


iv_an_ruПроясним ситуацпропущено...
Мне откровенно плевать на TPC-H. Я только знаю, что вместо 200 серверов на mysql у меня работает всего два, остальное мне - глубоко до лампочки.Если вам глубоко до лампочки, чем занимаются другие люди, то зачем вы их пытаетесь учить?
Я не собираюсь никого учить. Сейчас я понял предельно четко - что для того, чтоб вбить тебе в голову знания о подходе, который
замещает 200 сервров двумя - нужно нанимать специально обученных людей, вбивателей знания в голову.

Чтоб они писали книги и статьи, и тогда, может быть - тебе что-то удастся там в голову поместить.

А пока твой разум напрочь отказывается даже mmap поместить на уровень понимания.

iv_an_ruПроясним ситуац95% населения - идиоты. Это ни для кого не секрет.Пока что секрет --- входите ли вы в оставшиеся 5%, или мы с вами вместе составляем интеллектуальное большинство.
Правило 95% универсально. С т.з. квантовой физики лично я - беспросветный идиот, и не только с точки зрения физики.

А ты наверное себя огранненным алмазом считаешь, универсальным энциклопедистом, да?

iv_an_ruПроясним ситуацРасскажи хоть что-то новое, а?Нафига? Вам же "откровенно плевать" и "глубоко до лампочки".
А ты просто попробуй, сначала. А потом мы уже решим - будет мне плевать или нет.

Или вот этими десятками уже постов - ты пытался мне дать некое новое знание или истинно верное?

Ой, извини, не оценил....
...
Рейтинг: 0 / 0
Плюсы против голого Си, холивар #9
    #37930055
Edd.Dragon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
То, что я никакими полезными писаниями тебя не наградил, так я ж и не брался, в отличии от тебя, верно? А ты взялся прояснять, но делаешь это жуть не респектабельно и не убедительно. Возникают вопросы.


авторЭто просто верификация подходов на обычных смертных. не для тебя пишется
И я о том же. Твои фразы, не относящиеся к теме спора, но которыми ты непременно заканчиваешь свои ответы, явно дают понять, что ты пишешь не для меня любимого и не для iv_an_ru, а для себя любимого.

Иначе чем объяснить попытки усилить свои слова детскими колкостями типа

авторТы походу вообще выпал из струи
Что-то у тебя совсем плохо с основами.
ну что с тебя взять?
Ну это лишь показывает ваш уровень "развития", гордиться нечем.
Вы там реально мохом позарастали.
Это все, что ты способен сказать?
Вот уже позорище, ёмое.
архЕткторы блин.
Оригинальные мысли у тебя будут или нет?



Любому дураку очевидно, что эти фразы не придают твоим речам весомости, а наоборот перечеркивают возможность воспринимать тебя, как человека, которого стОит послушать. Но если ты не хочешь, чтобы тебя слушали, для кого тогда вещаешь?!

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

Ну и с фига ты тут взялся кого-то чинить, если пока что ты никто и звать тебя никак?
Естетсвенно, что с таким подходом ты не увидел ни одного "О чувак! Дело пишешь!".
Можно даже допустить, что дело думаешь, но пишешь явно не его. Самолюбованием занимешься.

Я захотел обратить твое внимание на это - обратил. Тебя не устраивает сказанное - твоя проблема. Можешь попробовать еще разок уколоть меня в ответ. И продолжать игнорировать вопросы в лоб, а отвечать только на те, которые тебе по зубам. Так обычно и поступают истинно оригинальные спорщики.
...
Рейтинг: 0 / 0
Плюсы против голого Си, холивар #9
    #37930057
Edd.DragonНо если ты не хочешь, чтобы тебя слушали, для кого тогда вещаешь?!
Я не хочу чтобы меня слушали. Я хочу что бы мне дали развернутый ответ - почему тот или иной тезис является неверным.
Да. Чтобы меня самого назвали глупцом, потому что... (далее идет список).

Edd.DragonУгу. Вот я спрашивал о твоих достижениях, чтобы сложить мнение о твоей компетенции, а ты сделал вид, что не заметил.
Да, я не считаю нужным тебе на это отвечать. Мне не нужно признание моих достижений - мне нужна лишь верификация пары тройки идей, на счет которых у меня есть сомнения.

Edd.DragonНу и с фига ты тут взялся кого-то чинить, если пока что ты никто и звать тебя никак?
Естетсвенно, что с таким подходом ты не увидел ни одного "О чувак! Дело пишешь!".
Можно даже допустить, что дело думаешь, но пишешь явно не его. Самолюбованием занимешься.

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

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


Edd.DragonЯ захотел обратить твое внимание на это - обратил. Тебя не устраивает сказанное - твоя проблема. Можешь попробовать еще разок уколоть меня в ответ. И продолжать игнорировать вопросы в лоб, а отвечать только на те, которые тебе по зубам. Так обычно и поступают истинно оригинальные спорщики.

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

Так доходчиво?
...
Рейтинг: 0 / 0
Плюсы против голого Си, холивар #9
    #37930058
Фотография iv_an_ru
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Проясним ситуацiv_an_ruПотому что все они в память тупо не влезут, а надеяться на то, что ОС вслепую, не зная специфики приложения, исхитрится правильно спланировать вытеснение дисковых буферов на несколько физических томов (и закачку нужных с тех же томов) --- очень наивно.Еще раз. Ты читал man mmap?Да разумеется. Ну и дальше-то что? Управлять 384 гигами ОЗУхи в виде маленьких страничек? А TLB не лопнет? MAP_HUGETLB не предлагать.

Проясним ситуацiv_an_ruУвы, нужна именно реальная конфигурация, потому что читать надо поровну со всех копий ноды, а писать --- на все разом, при этом обеспечивая правильную транзакционную семантику.Походу ты даже не прочитал, что это такое UCARP/CARP.Повторяю. "обеспечивая правильную транзакционную семантику". Я уж молчу про "пользу" лишней пофигени между отправителем и получателем.

Проясним ситуацiv_an_ruЭто ответ на вопрос "сколько...". Понятно.Господи, что тебе понятно? При наличии библиотеки поверх dbm манипуляция курсорами и выборками занимает столько-же кода, сколько и на PL/SQL, T-SQL, и даже меньше. Так устроит?Ух ты. А можно на эту библиотеку посмотреть? Чтобы и выбирала всё сама, и группировки-сортировки-аггрегаты все сама делала, и execution plan сама строила? Что-то мне подсказывает, что как раз скуль и получится, только кастрированный, с одним как бы универсальным типом хоронилища данных на все случаи жизни. Выборка из хэш-таблицы по диапазону ключей интересует особо, кстати :)

Проясним ситуацСейчас я понял предельно четко - что для того, чтоб вбить тебе в голову знания о подходе, который
замещает 200 сервров двумя - нужно нанимать специально обученных людей, вбивателей знания в голову.Я с радостью безо всякого вбивания выучу способ заменить кластер с 200x192Gb ОЗУхи кластером 2x192Gb. Пусть даже 2x384Gb, мне не жалко. Если я узнаю способ, как в них сложить активное подмножество с 200x1Tb дисковой памяти, я вмиг стану миллионером. Ради этого стоит постараться.
Одно у меня сомнение только --- а вы почему ещё не миллионер? Это ведь так просто.
...
Рейтинг: 0 / 0
Плюсы против голого Си, холивар #9
    #37930059
Edd.Dragon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Проясним ситуацДа, я не считаю нужным тебе на это отвечать. Мне не нужно признание моих достижений - мне нужна лишь верификация пары тройки идей, на счет которых у меня есть сомнения.
Так доходчиво?
Гораздо более доходчиво, чем ранее.

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

Так что не обессудь - на мусор в ответ мусор и получаешь.
...
Рейтинг: 0 / 0
Плюсы против голого Си, холивар #9
    #37930060
Edd.Dragon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторЛично мне глубоко плевать на какой-то там статус.
Не заметно
...
Рейтинг: 0 / 0
Плюсы против голого Си, холивар #9
    #37930061
iv_an_ruПроясним ситуацпропущено...
Еще раз. Ты читал man mmap?Да разумеется. Ну и дальше-то что? Управлять 384 гигами ОЗУхи в виде маленьких страничек? А TLB не лопнет? MAP_HUGETLB не предлагать.
TLB не лопнет, как минимум при 32 гигах не лопается. А так да - HUGETLB никто не отменял.

iv_an_ruПовторяю. "обеспечивая правильную транзакционную семантику". Я уж молчу про "пользу" лишней пофигени между отправителем и получателем.
Что такое транзакционная семантика, если пользователь долбится всегда в строго определенную ноду (которую лишь могу замещать временно другие ноды при выходе из строя)?
Про пофигень - вообще мимо, клиент сам знает в какую ему ноду долбиться (там только первая страница общая, дальше AJAX код уже знает номер "своей" ноды). В общем опять "звон колоколов".

iv_an_ruУх ты. А можно на эту библиотеку посмотреть?
Clipper'87 помнишь? В соврменной редакции harbour. Вот там примерно такое, в части API.

iv_an_ruЧтобы и выбирала всё сама, и группировки-сортировки-аггрегаты все сама делала, и execution plan сама строила?
Ты опять решил рассказать, что понятия не имеешь про денормализацию данных? Ну так поясним еще раз. Все группировки делаются заранее, считаются и сохряняются в базу. Данные хранятся в уже сортированном виде, готовом для отдачи клиенту без какой-либо обработки. А execution plan для операции SELECT * FROM DOCUMENT WHERE DOC_ID = :ID и даром не нужен - там просто лукап по хеш ключу.

iv_an_ruЧто-то мне подсказывает, что как раз скуль и получится, только кастрированный, с одним как бы универсальным типом хоронилища данных на все случаи жизни. Выборка из хэш-таблицы по диапазону ключей интересует особо, кстати :)
SQL и реаляционная модель - это такое-же кривое убожище, как и pthreads и ООП.
"Гения", который придумал разбирать данные и собирать при каждом чтении - нужно удостоить премии Дарвина.

iv_an_ruПроясним ситуацСейчас я понял предельно четко - что для того, чтоб вбить тебе в голову знания о подходе, который
замещает 200 сервров двумя - нужно нанимать специально обученных людей, вбивателей знания в голову.Я с радостью безо всякого вбивания выучу способ заменить кластер с 200x192Gb ОЗУхи кластером 2x192Gb. Пусть даже 2x384Gb, мне не жалко. Если я узнаю способ, как в них сложить активное подмножество с 200x1Tb дисковой памяти, я вмиг стану миллионером. Ради этого стоит постараться.
Ну так открой для себя data-life-cycle. 90% данных в твоем кеше наверняка вообще не используются (читается только одна строка из блока, остальные сидят в памяти за компанию, ибо размер блока), вы просто видать не можете сделать грамотное разделение по userid|timestamp секциям, чтоб вытолкать никому не нужные данные из памяти и никогда их туда не грузить, без явного запроса их.


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

А так как сервер у вас SQL (Oracle?), то об эффективности компрессии OLTP данных можно можно только поулыбаться.
...
Рейтинг: 0 / 0
Плюсы против голого Си, холивар #9
    #37930062
Edd.DragonавторЛично мне глубоко плевать на какой-то там статус.
Не заметно

Что тебе не заметно? Я что, тут к кому-то пристаю тут с глупыми вопросами "ты кито такой, какая у тебя должность, звание и достижения?"
...
Рейтинг: 0 / 0
Плюсы против голого Си, холивар #9
    #37930065
Фотография iv_an_ru
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Проясним ситуацClipper'87 помнишь? В соврменной редакции harbour. Вот там примерно такое, в части API.Тогда не надо. Наши юзеры спасибо не скажут.

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

Проясним ситуацЯ с радостью безо всякого вбивания выучу способ заменить кластер с 200x192Gb ОЗУхи кластером 2x192Gb. Пусть даже 2x384Gb, мне не жалко. Если я узнаю способ, как в них сложить активное подмножество с 200x1Tb дисковой памяти, я вмиг стану миллионером. Ради этого стоит постараться.
Ну так открой для себя data-life-cycle. 90% данных в твоем кеше наверняка вообще не используются (читается только одна строка из блока, остальные сидят в памяти за компанию, ибо размер блока), вы просто видать не можете сделать грамотное разделение по userid|timestamp секциям, чтоб вытолкать никому не нужные данные из памяти и никогда их туда не грузить, без явного запроса их.[/quot]Расскажите, пожалуйста, как грамотно разделить, скажем базу всех известных последовательностей ДНК для всех известных белков по userid|timestamp секциям. Один из самых популярных запросов --- некое подобие "регэкспа" по ДНК. Или как разделить дибипедию --- выжимку всех формализованных данных из википедии. Или геоданные. И что делать с базой, в которой лежат все эти знания вместе, плюс ещё полсотни больших баз и несколько миллионов разрозненных мелких ресурсов? Я очень внимательно слушаю. Мы научились трамбовать более-менее удачные базы знаний в 7 байт на факт, теперь хорошо бы с вашей помощью научиться, как сделать RAM/HDD ratio 1/1000.
...
Рейтинг: 0 / 0
Плюсы против голого Си, холивар #9
    #37930164
Фотография OoCc
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
iv_an_ruНаши клиенты более изобретательны, и на всех готовых ответов не напасёшься, надо считать на лету. Вот надо и всё.

Это подход типичного "developer". Выглядит так что вы (ваш архитектор) просто не знаете что вашим клиентам нужно. "Database people" всегда группируют. IMHO. Поскольку база данных это отображение бизнеса а девелоперский "front end" как не крути только фронтэнд.
Еще одна холиварная тема.
...
Рейтинг: 0 / 0
Плюсы против голого Си, холивар #9
    #37930200
Edd.Dragon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторЯ что, тут к кому-то пристаю тут с глупыми вопросами "ты кито такой, какая у тебя должность, звание и достижения?"
Нет, вместо этого ты сразу указываешь оппонентам на их место в углу твоего небольшего мирка. Чем искусственно пытаешься показать свой статус.

Если бы ты этого не делал, то и вопрос бы не возникал. Но после таких действий возникает вопрос, а что ты на самом деле представляешь, если даже общаться адекватно не научился.
...
Рейтинг: 0 / 0
Плюсы против голого Си, холивар #9
    #37930235
iv_an_ruскажем базу всех известных последовательностей ДНК для всех известных белков по userid|timestamp секциям. Один из самых популярных запросов --- некое подобие "регэкспа" по ДНК. Или как разделить дибипедию --- выжимку всех формализованных данных из википедии. Или геоданные. И что делать с базой, в которой лежат все эти знания вместе, плюс ещё полсотни больших баз и несколько миллионов разрозненных мелких ресурсов? Я очень внимательно слушаю. Мы научились трамбовать более-менее удачные базы знаний в 7 байт на факт, теперь хорошо бы с вашей помощью научиться, как сделать RAM/HDD ratio 1/1000.

"Диспут" скатился в просто треп.

Любой здравомыслящий человек прекрасно знает, что универсальных решений не существует. Принципы проектирования, заточенные
под событийную модель данных (ebay, facebook, twitter, и всякие эти ваши 1c, биллинги и erp и подобное) - будут неприемлемы для
геодезии, моделирования термоядерных процессов или ДНК.

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

Короче, Иван, пилите свои acl на SQL базах, интересной беседы так и не получилось, а высмеивать зашоренность "традиционных" подходов мне уже надело.
...
Рейтинг: 0 / 0
Плюсы против голого Си, холивар #9
    #37930237
Edd.DragonавторЯ что, тут к кому-то пристаю тут с глупыми вопросами "ты кито такой, какая у тебя должность, звание и достижения?"
Нет, вместо этого ты сразу указываешь оппонентам на их место в углу твоего небольшего мирка. Чем искусственно пытаешься показать свой статус.

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

А тебе - иди открывай практику, будешь прозак какой выписывать, или что там выписывают, вместе с советами, задорого.
У тебя явно талант (без дураков, я вполне серьезно).
...
Рейтинг: 0 / 0
Плюсы против голого Си, холивар #9
    #37930263
Фотография vromanov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
[quot Проясним ситуац]vromanovТ.е. через классы и темплейты - это не через жопу, а через структуры - через жопу?

Извини, я не настолько спец по жопам.
Однозначно. Потому что это более безопастно, приведет к меньшему числу ошибок и в тоже время приведет к генерации такого-же кода как при использовании С
...
Рейтинг: 0 / 0
Плюсы против голого Си, холивар #9
    #37930264
[quot vromanov]Проясним ситуацпропущено...

Однозначно. Потому что это более безопастно, приведет к меньшему числу ошибок и в тоже время приведет к генерации такого-же кода как при использовании С

Угу. Только ты бы сначала в дизассемблированный код посмотрел, прежде чем делать подобные заявления.
Ну и бенчмарки какие сделать, тоже не помешало-бы.
...
Рейтинг: 0 / 0
Плюсы против голого Си, холивар #9
    #37930267
Фотография vromanov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Проясним ситуацУгу. Только ты бы сначала в дизассемблированный код посмотрел, прежде чем делать подобные заявления.
Ну и бенчмарки какие сделать, тоже не помешало-бы.
Смотрел и делал.
...
Рейтинг: 0 / 0
Плюсы против голого Си, холивар #9
    #37930273
Проясним ситуацvromanovМы мешаем С и С++. С++ там, где нужна типизация, динамические массивы итд.
С в остальных местах. Потоки не используем, вместо них процессы. Обмен данными через mmap.

В C есть типизация - структуры.Gприсваивать структуры разных типов запрещено, при переприсваивании указателей несовместимых типов - компилятор генерятся warnings как минимум. В общем по C++ C незачет.

Динамические массивы на C есть с 70х годов - изучите уже realloc. Незачет в квадрате.

Проясним ситуацiv_an_ruА что, уже придумали шардинг по зависимым полям, не только по ключам? Или каждую выборку из защищённой колонки таблицы надо будет снабдить лишним распределённым джойном ко всем нодам, в которых лежат секции ACL? Кто, спрашивается, прикидывается здесь идиотом?
Господи, что за тупость? Какие еще нахрен джойны? Что с чем джойнить? ref_id в name для справочника на SQL?
Вы там реально мохом позарастали. Откройте для себя уже денормализацию, право.
Денормализация сокращает затраты CPU на соединения, но значительно увеличивает объем данных. Нормализация сокращает объем данных, но требует затрат CPU для соединения.
Уже давно известны решения с лучшими характеристиками из них обоих, и без минусов.

Проясним ситуацТолько идиот сейчас станет использовать SQL подобное для нового проекта для highload
Во-первых web-разработчики почему-то узурпировали этот термин и считают, что highload это только высоко нагруженные сайты.
Во-вторых почему-то под SQL понимают ACID. Сам SQL скорость никак не замедляет, особенно если он параметризованный и подготовленный.


Тема "Плюсы против голого Си", а обсуждают MySQL :)
...
Рейтинг: 0 / 0
Плюсы против голого Си, холивар #9
    #37930281
Фотография iv_an_ru
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
OoCciv_an_ruНаши клиенты более изобретательны, и на всех готовых ответов не напасёшься, надо считать на лету. Вот надо и всё.

Это подход типичного "developer". Выглядит так что вы (ваш архитектор) просто не знаете что вашим клиентам нужно.Ага. Клиенты и сами заранее не знают, что им нужно. Простейший и самый популярный пример: торчит в веб точка доступа к толстой базе, любой желающий может отправить на неё какой угодно запрос, указать желаемый формат ответа, и получить этот ответ.
...
Рейтинг: 0 / 0
Плюсы против голого Си, холивар #9
    #37930286
Фотография iv_an_ru
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Проясним ситуац Любой здравомыслящий человек прекрасно знает, что универсальных решений не существует. ..
Требовать совместить оптимизацию и timeline, и sparsed, к примеру, структуры - не более, чем глупая демагогия и спекуляция - это все равно что на автомобиль прикручивать еще и гусеницы, и реактивный двигатель.Я жирным выделил. Ну а теперь перечитайте топик, свежим взглядом. Сначала вы старательно убеждаете всех, что все должны писать так, как вы, а кто пишет по-другому и предлагает сначала думать и выбирать, как писать --- идиот. Когда вам объясняют, что задачи вообще-то бывают разные, и спрашивают, как вашими любимыми средствами сделать что-то, вы бодро разворачиваетесь на 180, лицом к здравому смыслу. Правда, хватает вас на один абзац, потому что вы тут же разворачиваетесь ещё на 180 градусов, и продолжаете
Проясним ситуацвысмеивать зашоренность "традиционных" подходов мне уже надело.
ИМХО зашоренный тут ровно один аноним.
...
Рейтинг: 0 / 0
Плюсы против голого Си, холивар #9
    #37930291
iv_an_ruПроясним ситуац Любой здравомыслящий человек прекрасно знает, что универсальных решений не существует. ..
Требовать совместить оптимизацию и timeline, и sparsed, к примеру, структуры - не более, чем глупая демагогия и спекуляция - это все равно что на автомобиль прикручивать еще и гусеницы, и реактивный двигатель.Я жирным выделил. Ну а теперь перечитайте топик, свежим взглядом. Сначала вы старательно убеждаете всех, что все должны писать так, как вы,
Все? Я старательно подчеркивал, что для 95% населения это всё - вообще не приемлемо.


iv_an_ruа кто пишет по-другому и предлагает сначала думать и выбирать, как писать --- идиот. Когда вам объясняют, что задачи вообще-то бывают разные, и спрашивают, как вашими любимыми средствами сделать что-то, вы бодро разворачиваетесь на 180, лицом к здравому смыслу.
Сделать что? Хранение ДНК в реляционной базе данных? Это называется разворот к здравому смыслу? Атас.

iv_an_ruПравда, хватает вас на один абзац, потому что вы тут же разворачиваетесь ещё на 180 градусов, и продолжаете
Проясним ситуацвысмеивать зашоренность "традиционных" подходов мне уже надело.
ИМХО зашоренный тут ровно один аноним.
Самокритично, но слабоактуально (да, всем глубоко плевать на зашоренность некого анонима с ником iv_an_ru).
...
Рейтинг: 0 / 0
Плюсы против голого Си, холивар #9
    #37930294
iv_an_ruOoCcпропущено...

Это подход типичного "developer". Выглядит так что вы (ваш архитектор) просто не знаете что вашим клиентам нужно.Ага. Клиенты и сами заранее не знают, что им нужно. Простейший и самый популярный пример: торчит в веб точка доступа к толстой базе, любой желающий может отправить на неё какой угодно запрос, указать желаемый формат ответа, и получить этот ответ.

Самый популярный? Ну и где примеры таких сайтов? Хоть один, на котором деньги зарабатывают, а не играются? (apex.oracle.com показывать не надо).
...
Рейтинг: 0 / 0
Плюсы против голого Си, холивар #9
    #37930296
Фотография iv_an_ru
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Проясним ситуацСделать что? Хранение ДНК в реляционной базе данных? Это называется разворот к здравому смыслу? Атас.С нетерпением жду лучших идей.
...
Рейтинг: 0 / 0
Плюсы против голого Си, холивар #9
    #37930297
Проясним ситуацiv_an_ruПотому что все они в память тупо не влезут, а надеяться на то, что ОС вслепую, не зная специфики приложения, исхитрится правильно спланировать вытеснение дисковых буферов на несколько физических томов (и закачку нужных с тех же томов) --- очень наивно.
Еще раз. Ты читал man mmap?

Ну пойди прочитай. Отображенный в память файл - это не буфер, и уж тем более не файловый и не дисковый буфер.
Про madvise ты как я понял тоже - даже не попытался почитать руководство.
Вы просто друг друга не поняли. В любом случае, при использовании mmap, если файл больше ОЗУ, то в ОЗУ хранится (кэшируется) только его часть. И в любом случае кэшу приложения/субд/... лучше знать, что держать в кэше, а что вытеснять, чем кэшу ОС/ФС/...
Поверьте, внутренние алгоритмы кэширования СУБД очень сложны и во многих случаях способны дать прирост скорости доступа до 10 раз, по сравнению с любыми внешними по отношению к ней.

Проясним ситуацiv_an_ruА что, реляционную алгебру уже отменили? Теперь положено просто хранить базы готовых ответов на все случаи жизни? Увы, это не всегда возможно, потому что нет списка готовых вопросов.
Нет, теперь положено хранить таблицы уже денормализованные, в случае документ-строка - уже сразу кластеризованные (документ и строки в одном блоке данных) , а не джойнить их каждый раз со справочниками и между собой.
Абсолютно верно.
...
Рейтинг: 0 / 0
Плюсы против голого Си, холивар #9
    #37930299
iv_an_ruПроясним ситуацСделать что? Хранение ДНК в реляционной базе данных? Это называется разворот к здравому смыслу? Атас.С нетерпением жду лучших идей.

Обратитесь к специалистам.
...
Рейтинг: 0 / 0
Плюсы против голого Си, холивар #9
    #37930300
алгоритмы кэшированияПроясним ситуацпропущено...

Еще раз. Ты читал man mmap?

Ну пойди прочитай. Отображенный в память файл - это не буфер, и уж тем более не файловый и не дисковый буфер.
Про madvise ты как я понял тоже - даже не попытался почитать руководство.
Вы просто друг друга не поняли. В любом случае, при использовании mmap, если файл больше ОЗУ, то в ОЗУ хранится (кэшируется) только его часть. И в любом случае кэшу приложения/субд/... лучше знать, что держать в кэше, а что вытеснять, чем кэшу ОС/ФС/...
Поверьте, внутренние алгоритмы кэширования СУБД очень сложны и во многих случаях способны дать прирост скорости доступа до 10 раз, по сравнению с любыми внешними по отношению к ней.

Когда я несколько раз говорил про madvise - никто не понял тонкой иронии в виде очень прямого намека. Забавно....

Это наверное так трудно - сдалать man madvise, да?
...
Рейтинг: 0 / 0
Плюсы против голого Си, холивар #9
    #37930303
MIN/MAX
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Проясним ситуацiv_an_ruЧтобы и выбирала всё сама, и группировки-сортировки-аггрегаты все сама делала, и execution plan сама строила?
Ты опять решил рассказать, что понятия не имеешь про денормализацию данных? Ну так поясним еще раз. Все группировки делаются заранее, считаются и сохряняются в базу. Данные хранятся в уже сортированном виде, готовом для отдачи клиенту без какой-либо обработки.
Имеете ввиду MatView с QueryRwerite?
А как мне апдейтнуть такую MatView содержащую агрегаты MIN/MAX , когда в исходных таблицах возможнен (UPDATE ... STATUS = 0), их размер несколько ТБ, если по бизнес требованиям отставание данных в ней (агрегированной MatView) должно не превышать 2 минут для любого запроса?
Надеюсь понятно, что частичное обновление именно таких MatView невозможно и не реализовано ни в одной СУБД.
Это реальная задача из банковской сферы.

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

А так как сервер у вас SQL (Oracle?), то об эффективности компрессии OLTP данных можно можно только поулыбаться.
Кстати, интересно, а в вашей системе в ОЗУ данные хранятся в сжатом виде и каким алгоритмом жмете?
...
Рейтинг: 0 / 0
Плюсы против голого Си, холивар #9
    #37930304
Фотография iv_an_ru
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Проясним ситуацКогда я несколько раз говорил про madvise - никто не понял тонкой иронии в виде очень прямого намека. Забавно....Очень хотелось бы увидеть удовлетворительную демку с mmap без больших страниц на 256+ гигах ОЗУ и хотя бы терабайте данных, лежащих на 6 обычных HDD. Самый обычный самый дешёвый комодный ящик, без заморочек с RAID и SAN, то есть на железе, для которого ядро отполировано лучше всего. Хоть с мадвайзами хоть без.
...
Рейтинг: 0 / 0
Плюсы против голого Си, холивар #9
    #37930305
Проясним ситуацКогда я несколько раз говорил про madvise - никто не понял тонкой иронии в виде очень прямого намека. Забавно....

Это наверное так трудно - сдалать man madvise, да?
Скажу без иронии и без намеков, сколько не давай советов и подсказок глупому алгоритму кэширования в mmap он будет далек от кэширования самим Oracle, причем на порядок.
Если сравнивать с кэшированием в MySQL, то да, наверное вы правы.
...
Рейтинг: 0 / 0
Плюсы против голого Си, холивар #9
    #37930312
MIN/MAXПроясним ситуацпропущено...

Ты опять решил рассказать, что понятия не имеешь про денормализацию данных? Ну так поясним еще раз. Все группировки делаются заранее, считаются и сохряняются в базу. Данные хранятся в уже сортированном виде, готовом для отдачи клиенту без какой-либо обработки.
Имеете ввиду MatView с QueryRwerite?
А как мне апдейтнуть такую MatView содержащую агрегаты MIN/MAX , когда в исходных таблицах возможнен (UPDATE ... STATUS = 0), их размер несколько ТБ, если по бизнес требованиям отставание данных в ней (агрегированной MatView) должно не превышать 2 минут для любого запроса?
Надеюсь понятно, что частичное обновление именно таких MatView невозможно и не реализовано ни в одной СУБД.
Это реальная задача из банковской сферы.
То, что я расписывал - это задача из OLTP сферы - обслуживание тысяч клиентов в режиме приближенном к real-time.

А ты пришел ко мне с противным DWH/DSS - мы не решаем это и не собираемся решать - для этих задач базы данных дампятся из шард, с предварительной агрегацией, а потом уже заливаются в специализированные хранилища данных, вроде netezza, и там уже аналитики резвятся как хотят, через SQL и не только. В той области масса годных готовых решений (ну, наверное, я не в курсе всех тенденций).

MIN/MAXПроясним ситуацПлюс вопрос компрессии - еще тот вопрос. Скомпрессировать блок на диске - это ок, много ума не надо, через btrfs или zfs. А если хранить его развернутым уже в памяти, то это уже ой.

А так как сервер у вас SQL (Oracle?), то об эффективности компрессии OLTP данных можно можно только поулыбаться.
Кстати, интересно, а в вашей системе в ОЗУ данные хранятся в сжатом виде и каким алгоритмом жмете?

Если реально - то были попытки привинтить snappy и zlib, но синтетические тесты показали противоречивые результаты.
Типовой паттерн - это рандомизированное чтение, т.е. отдельный пользовательский запрос берет всего один блок данных, и с точки зрения стоимости чтения с диска - вообще никакой разницы нет, только CPU напрасно расходуется.

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

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

Одним словом - сейчас осталась только компрессия на самых старых данных (time lag больше месяца), они сжимаются через btrfs lzo просто для того, чтоб места занимали поменьше, так их вообще редко кто читает по-блочно и просад производительности не критичен.

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

Но вот на задачах подготовки данных для DSS (предварительная агрегация и фильтрация) компрессия дает как раз строго обратные результаты - там преобладает линейное,
последовательное чтение (перебираем таблицы фактов при построении агрегатов), и тот факт, что данных приходится читать с диска в 9-10 раз меньше - дает огроменный результат - т.е. ускорение до 5-6 раз минимум. Там пока решено оставить btrfs, плюс память сразу высвобождается после чтения, потому что шанс того, что перемолоченные пару терабайт данных хоть как-то прокешируются в тех 32 гигабайтах ОЗУ на ноде и будут кем-то востребованы - ничтожно мал.
...
Рейтинг: 0 / 0
Плюсы против голого Си, холивар #9
    #37930313
без иронии и без намековПроясним ситуацКогда я несколько раз говорил про madvise - никто не понял тонкой иронии в виде очень прямого намека. Забавно....

Это наверное так трудно - сдалать man madvise, да?
Скажу без иронии и без намеков, сколько не давай советов и подсказок глупому алгоритму кэширования в mmap он будет далек от кэширования самим Oracle, причем на порядок.
Если сравнивать с кэшированием в MySQL, то да, наверное вы правы.

Ты думаешь в Oracle алгоритм кеширования супер-мега интеллектуален?

Впрочем, не будем разбивать мечты и надежды....
...
Рейтинг: 0 / 0
Плюсы против голого Си, холивар #9
    #37930314
Фотография iv_an_ru
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
без иронии и без намековсколько не давай советов и подсказок глупому алгоритму кэширования в mmap он будет далек от кэширования самим Oracle, причем на порядок.Да там даже не в алгоритме проблема, а в железе. Когда я сам выделяю дисковые буферы, я уж точно позабочусь, чтобы TLB были huge. Если я попытаюсь рулить терабайтом адресов в виде 4-килобайтных страничек (т.е. аж по _два_ TLB энтри на каждую 8-килобайтную страничку), то сами посчитайте размер таблички трансляции. Ядро тупо повесится её обновлять. Кроме того, хардвёрные TLB энтри стоят как крылья от самолёта, поэтому их в масовых процах очень мало:

For instance, Nehalem has
a 4-way set associative L1 DTLB with 64 entries for 4 KiB pages and 32 entries for 2/4 MiB pages,
an L1 ITLB with 128 entries for 4 KiB pages using 4-way associativity and 14 fully associative entries for 2/4 MiB pages (both parts of the ITLB divided statically between two threads)
a unified 512-entry L2 TLB for 4 KiB pages, both 4-way associative.
и цена одного промаха мимо аппаратного TLB кэша легко достигает 80(!) циклов.
...
Рейтинг: 0 / 0
Плюсы против голого Си, холивар #9
    #37930316
iv_an_ruПроясним ситуацКогда я несколько раз говорил про madvise - никто не понял тонкой иронии в виде очень прямого намека. Забавно....Очень хотелось бы увидеть удовлетворительную демку с mmap без больших страниц на 256+ гигах ОЗУ и хотя бы терабайте данных, лежащих на 6 обычных HDD. Самый обычный самый дешёвый комодный ящик, без заморочек с RAID и SAN, то есть на железе, для которого ядро отполировано лучше всего. Хоть с мадвайзами хоть без.

Комодный ящик сейчас - это 32-64 гигабайт ОЗУ, выше - уже нерентабельно, намного дешевле и эффективнее купить четыре ящика по 64, чем один ящик, набитый до 256 гигов ОЗУ.

А за демками... пишите письма, вам обязательно ответят.
...
Рейтинг: 0 / 0
Плюсы против голого Си, холивар #9
    #37930317
iv_an_ruбез иронии и без намековсколько не давай советов и подсказок глупому алгоритму кэширования в mmap он будет далек от кэширования самим Oracle, причем на порядок.Да там даже не в алгоритме проблема, а в железе. Когда я сам выделяю дисковые буферы, я уж точно позабочусь, чтобы TLB были huge. Если я попытаюсь рулить терабайтом адресов в виде 4-килобайтных страничек (т.е. аж по _два_ TLB энтри на каждую 8-килобайтную страничку), то сами посчитайте размер таблички трансляции. Ядро тупо повесится её обновлять.
А разработчики ядра-то и не знают!


iv_an_ruи цена одного промаха мимо аппаратного TLB кэша легко достигает 80(!) циклов.

КАК СТРАШНО СТАЛО ЖИТЬ! 80 циклов супротив цены одного seek на HDD

Стивен Спилберг и Стивен Кинг продакшин. Новые, душераздирающие истории на в новой книге "Однажды, на улице 81-го цикла!"
...
Рейтинг: 0 / 0
Плюсы против голого Си, холивар #9
    #37930323
Фотография iv_an_ru
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Проясним ситуацiv_an_ruи цена одного промаха мимо аппаратного TLB кэша легко достигает 80(!) циклов.КАК СТРАШНО СТАЛО ЖИТЬ! 80 циклов супротив цены одного seek на HDDНе-е, вы не врубились. Эти 80 циклов будут вылезать просто на доступе к странице, которая _уже_ лежит в памяти. Причём два раза на дисковый буфер --- в его начале и в его середине. Особенно "приятно", если с этой страницы и прочитать-то надо было всего пяток слов.
...
Рейтинг: 0 / 0
Плюсы против голого Си, холивар #9
    #37930324
iv_an_ruПроясним ситуацпропущено...
КАК СТРАШНО СТАЛО ЖИТЬ! 80 циклов супротив цены одного seek на HDDНе-е, вы не врубились. Эти 80 циклов будут вылезать просто на доступе к странице, которая _уже_ лежит в памяти. Причём два раза на дисковый буфер --- в его начале и в его середине. Особенно "приятно", если с этой страницы и прочитать-то надо было всего пяток слов.

Только при первом чтении. Количество активных процессов в момент времени - не более 16 (по одному-два на кору), для них вот того DTLB with 64 entries for 4 KiB pages - более чем достаточно - типовой сценарий - мы долбим страницу данных, страницу результата и еще стека и кода.

Так что мимо, пишите еще ужастикофф.
...
Рейтинг: 0 / 0
Плюсы против голого Си, холивар #9
    #37930327
Проясним ситуацТак что мимо, пишите еще ужастикофф.

http://www.realworldtech.com/nehalem/8/

Тем более, что DTLB для каждой коры - свой, плюс еще есть L2 TLB...


Колокола, звенят колокола, почём у нас колокола? По 80 циклов, да?


авторAs a result, each Nehalem core features a combined TLB of 576 entries that sum up to 2304 total for the entire processor, enough to cover 9.2 MB – way in excess of the actual L3 cache size.
...
Рейтинг: 0 / 0
Плюсы против голого Си, холивар #9
    #37930328
Фотография iv_an_ru
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Проясним ситуацКомодный ящик сейчас - это 32-64 гигабайт ОЗУ, выше - уже нерентабельно, намного дешевле и эффективнее купить четыре ящика по 64, чем один ящик, набитый до 256 гигов ОЗУ.Кому как. Особенно если к четырём ящикам вместо одного понадобится вчетверо больше портов хотя бы мелланоксовского инфинибанда.

OTOH у нас "некомодный" ящик --- 6 "горизонтальных" лезвий на морде и 4 коммуникационных вертикальных лезвия на попе, к примеру. Но их только клиенты себе покупают, мы для разработки пока комодами обходимся. В Нске одна такая лезвийная гробина стоит от миллиона рублей, даже если экономить и брать его в шасси местного производства --- нафиг оно надо, такие деньги тратить без крайней нужды.
...
Рейтинг: 0 / 0
Плюсы против голого Си, холивар #9
    #37930332
iv_an_ruПроясним ситуацКомодный ящик сейчас - это 32-64 гигабайт ОЗУ, выше - уже нерентабельно, намного дешевле и эффективнее купить четыре ящика по 64, чем один ящик, набитый до 256 гигов ОЗУ.Кому как.
Да хоть кому. Расчет прост - стоимость железяки/сколько клиентов сможет обслужить железяка. Дальше тупо берем чуть дальше, чем где полный минимум.

Мы вот вообще ждем - когда же уже ARM появится, 64-х битный. Мощностей Xeon-ов, при переписанном движке БД и вебсервере - вообще не нужно, они на 99% в idle, только лектричество даром кушают.


iv_an_ru Особенно если к четырём ящикам вместо одного понадобится вчетверо больше портов хотя бы мелланоксовского инфинибанда.
Не понадобится, и это уже даже близко не commodity.

iv_an_ruOTOH у нас "некомодный" ящик --- 6 "горизонтальных" лезвий на морде и 4 коммуникационных вертикальных лезвия на попе, к примеру. Но их только клиенты себе покупают, мы для разработки пока комодами обходимся. В Нске одна такая лезвийная гробина стоит от миллиона рублей, даже если экономить и брать его в шасси местного производства --- нафиг оно надо, такие деньги тратить без крайней нужды.

И что с того? Какая разница, на чем вы там у себя в росейской глубинке откатушки делаете?

Откровенно не интересна эта тема, вот честно. У тебя наболело - обратись к специалистам, там посочувствуют.
...
Рейтинг: 0 / 0
Плюсы против голого Си, холивар #9
    #37930333
Фотография iv_an_ru
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Проясним ситуацавторAs a result, each Nehalem core features a combined TLB of 576 entries that sum up to 2304 total for the entire processor, enough to cover 9.2 MB – way in excess of the actual L3 cache size.... if the access is dense enough.

"Плохие" паттерны доступа + 4-килобайтные страницы = Большая Попа. Иначе зачем бы вообще придумывали большие страницы.
А с другой стороны, массовое тягание больших страниц туда-сюда = Вообще Мега-Попа, потому что в 64 мега внутреннего кэша диска садятся всего 16 таких 4 меговых страничек, ну и вообще мало кайфа таскать такие объёмы впустую.
...
Рейтинг: 0 / 0
Плюсы против голого Си, холивар #9
    #37930337
iv_an_ruПроясним ситуацпропущено...
... if the access is dense enough.

"Плохие" паттерны доступа + 4-килобайтные страницы = Большая Попа. Иначе зачем бы вообще придумывали большие страницы.
А с другой стороны, массовое тягание больших страниц туда-сюда = Вообще Мега-Попа, потому что в 64 мега внутреннего кэша диска садятся всего 16 таких 4 меговых страничек, ну и вообще мало кайфа таскать такие объёмы впустую.

Не забываем, что основной веб паттерн (RESTful)

а) получили из соката запрос в 110 байт
б) сходили в базу занных с хеш ключом в 32 байт (попадание три-четыре старницы), получили в итоге 200-300 байт данных
в) обработали 200-300 байт данных, сформировали 800-1200 байт ответа, отдали ядру на отправку в сокет.

Тут и Celeron отлично справится, с 256к L2, при 16 шардов-процессов


В общем опять мимо, опять... да что-же так!

А больше страницы нужны для вона обработки видео какого, фоточек там, подобного, как я понимаю
...
Рейтинг: 0 / 0
Плюсы против голого Си, холивар #9
    #37930339
избытка CPU
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Проясним ситуац
Если реально - то были попытки привинтить snappy и zlib, но синтетические тесты показали противоречивые результаты.
Типовой паттерн - это рандомизированное чтение, т.е. отдельный пользовательский запрос берет всего один блок данных, и с точки зрения стоимости чтения с диска - вообще никакой разницы нет, только CPU напрасно расходуется.
Тут да, в HDD все ограничено сверху количеством IOPs.

Проясним ситуацВ отдельных случаях было даже сильно хуже - потому что вместо хешированного чтения всего одного блока - приходилось читать сначала блок, а потом словарь - два рандомизированных чтения вместо одного.
Не совсем понял, что значит хэшированное чтение и про какой вы словарь?

Проясним ситуацАналогично с записью логов - ирония в том, что получилось быстрее писать вообще без компрессии даже на диски со шпинделями, а в случае SSD и вовсе все неприлично плохо стало с компрессией, до полного безобразия.
А вы это пробовали на snappy или zfs, и на каких SSD и CPU?
Потому что тут как раз может быть другая ситуация, допустим для SSD 120ГБ OCZ "RevoDrive 3"
http://www.fcenter.ru/products.shtml?eshop/act=h:a:0:186:a:a:a:1:a:1:50:r:1:1:38&oper=102100::::
Sequential max bandwidth = 975 MB/s
IOPs = 120 000 (4 KB)

При блоках 8 КБ мы уже упираемся в Sequential max bandwidth, а не IOPs. (8 КБ * 120 000 = 960 MB/s)
Т.е. если у нас размер кластера 64 КБ, то мы максимум сможем получить 975 MB/s и 15 000 IOPs = (975 000 KB / 64 KB).

А если мы сможем ужать на zfs в 2 раза, с динамическим размером кластера ФС, до 32 КБ, то мы сможем выжать уже 975 MB/s ( 1 950 MB/s в распаковке ) и 30 000 IOPs = (975 MB/s / 32 KB).

А на серверных SSD NAND SLC c IOPs ещё лучше и это ещё актуальней.

Сжатие в ZFS конечно далеко не дотягивает по скорости до snappy, а вот последний вполне может подойти.
Естественно все это справедливо если имеется большой перекос в сторону избытка CPU и недостатка СХД IO.
...
Рейтинг: 0 / 0
Плюсы против голого Си, холивар #9
    #37930345
избытка CPUПроясним ситуацВ отдельных случаях было даже сильно хуже - потому что вместо хешированного чтения всего одного блока - приходилось читать сначала блок, а потом словарь - два рандомизированных чтения вместо одного.
Не совсем понял, что значит хэшированное чтение и про какой вы словарь?
В базе данных чтение хешированное - клиент шлет запрос ключа (key), оно преобразуется в хеш-ключ (если уже не является ключом), и путем несложных вычислений происходит команда всего одного чтения уже известного блока на диске.

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


Проясним ситуацСжатие в ZFS конечно далеко не дотягивает по скорости до snappy, а вот последний вполне может подойти. Естественно все это справедливо если имеется большой перекос в сторону избытка CPU и недостатка СХД IO.

Может, но реально он оказался достаточно тормозным даже для логов, хотя тесты не я проводил, надо будет еще раз посмотреть.

Знаю точно - мы боролись за высокий response time для клиента. Соотвественно была задача - сделать sync для логированной записи (это сильно меньше, чем один килобайт). И скорее всего snappy там только вносил тормоза, тогда как простейший RAID1 с батарейкой давал практически моментальный ответ на sync, упаковывая уже несколько log записей в один физически 4-х килобайтный (а то и 128 килобайтный) блок.
...
Рейтинг: 0 / 0
Плюсы против голого Си, холивар #9
    #37930348
Фотография iv_an_ru
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Проясним ситуацНе забываем, что основной веб паттерн (RESTful)

а) получили из соката запрос в 110 байт
б) сходили в базу занных с хеш ключом в 32 байт (попадание три-четыре старницы), получили в итоге 200-300 байт данных
в) обработали 200-300 байт данных, сформировали 800-1200 байт ответа, отдали ядру на отправку в сокет.

Тут и Celeron отлично справится, с 256к L2, при 16 шардов-процессов...с чем я вас и поздравляю. Но вы почему-то уверены, что такое счастье --- у всех, и начинаете "учить", как будто вы один здесь POSIX смотрели и ваш метод --- универсально и единственно правильный.

У нас тоже 99% нагрузки --- RESTful сервис
а) получили из сокета запрос в 100 байт---100 килобайт.
б) сходили в базу выполнить запрос за 0.001 -- 20 секунд, получили в итоге 0--0.1--20 мегов данных.
в) сформировали 0--0.1--100 мегов ответа и по возможности начали их отдавать клиенту раньше, чем получили последние строки резалт-сета.

Только проблемы чуток другие. И методы решения соответственно.
...
Рейтинг: 0 / 0
Плюсы против голого Си, холивар #9
    #37930350
Фотография iv_an_ru
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
избытка CPUСжатие в ZFS конечно далеко не дотягивает по скорости до snappy, а вот последний вполне может подойти.
Естественно все это справедливо если имеется большой перекос в сторону избытка CPU и недостатка СХД IO.Мы опционально собираем свой сервак со снаппи, жмём длинные наборы страниц (100--200 килобайт) перед сбросом на диск. Сказать, что с ним "у всех клиентов лучше" или "у всех клиентов хуже" не могу --- на наших задачах получается у кого как. Но лучше уж такой выбор, чем никакого. даже 5--10% разгона приятны, если нахаляву.
...
Рейтинг: 0 / 0
Плюсы против голого Си, холивар #9
    #37930351
избытка CPU
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Проясним ситуацизбытка CPUСжатие в ZFS конечно далеко не дотягивает по скорости до snappy, а вот последний вполне может подойти. Естественно все это справедливо если имеется большой перекос в сторону избытка CPU и недостатка СХД IO.

Может, но реально он оказался достаточно тормозным даже для логов, хотя тесты не я проводил, надо будет еще раз посмотреть.

Знаю точно - мы боролись за высокий response time для клиента. Соотвественно была задача - сделать sync для логированной записи (это сильно меньше, чем один килобайт). И скорее всего snappy там только вносил тормоза, тогда как простейший RAID1 с батарейкой давал практически моментальный ответ на sync, упаковывая уже несколько log записей в один физически 4-х килобайтный (а то и 128 килобайтный) блок.
Ну не знаю как вы готовили snappy, но на "сильно меньше, чем один килобайт" он и сжимать будет сильно меньше. Т.е. перед упаковкой и сохранением их надо самому объединять в 4 - 128 КБ блоки. Да, это может добавит к отклику 1мс, но сильно разгрузит СХД, что сделает возможным держать в разы большую нагрузку.

И честно говоря не совсем понимаю, как RAID1 может упаковывать "несколько log записей в один физически 4-х килобайтный (а то и 128 килобайтный) блок" ?
RAID пишет блоками, а присылают ему кластерами, которые и надо сжимать целиком хоть lzo, хоть snappy.
...
Рейтинг: 0 / 0
Плюсы против голого Си, холивар #9
    #37930354
избытка CPU
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
iv_an_ruизбытка CPUСжатие в ZFS конечно далеко не дотягивает по скорости до snappy, а вот последний вполне может подойти.
Естественно все это справедливо если имеется большой перекос в сторону избытка CPU и недостатка СХД IO.Мы опционально собираем свой сервак со снаппи, жмём длинные наборы страниц (100--200 килобайт) перед сбросом на диск. Сказать, что с ним "у всех клиентов лучше" или "у всех клиентов хуже" не могу --- на наших задачах получается у кого как. Но лучше уж такой выбор, чем никакого. даже 5--10% разгона приятны, если нахаляву.
А какая корреляция прироста от задач, как и предполагалось прирост на задачах ближе к DWH/DSS и проседание на OLTP, и как вам CPU не жалко тратить?

А представьте какой разгон и какая экономия от него в масштабах google, где и задачи заранее известны и очень подходят и готовить snappy умеют близко к идеалу :)
...
Рейтинг: 0 / 0
Плюсы против голого Си, холивар #9
    #37930362
Фотография iv_an_ru
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
избытка CPUА какая корреляция прироста от задач, как и предполагалось прирост на задачах ближе к DWH/DSS и проседание на OLTP, и как вам CPU не жалко тратить?Трудно сказать насчёт OLAP vs OLTP, потому что у нас есть и row-wise и column-wise представление, и клиенты больше любят row-wise для OLTP и column-wise для OLAP. При этом у нас и строки и колонки "начерно" пожаты и без снаппи. А теперь смотрите:

Снаппи лучше дожимает строки, чем колонки, потому что колонки и так уже пожаты хорошо.
Снаппи, как и любая такая компрессия, лучше на OLAP, чем на OLTP.

В итоге снаппи не лучше на OLAP, потому что OLAP-ные задачи клиенты держат на колонках, на которых он не очень-то полезен.
И снаппи не лучше на OLTP, потому что даже если он хорошо дожимает строки, это как ни крути OLTP с активностью на запись.

:(
...
Рейтинг: 0 / 0
Плюсы против голого Си, холивар #9
    #37930384
избытка CPU
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
iv_an_ruизбытка CPUА какая корреляция прироста от задач, как и предполагалось прирост на задачах ближе к DWH/DSS и проседание на OLTP, и как вам CPU не жалко тратить?Трудно сказать насчёт OLAP vs OLTP, потому что у нас есть и row-wise и column-wise представление, и клиенты больше любят row-wise для OLTP и column-wise для OLAP. При этом у нас и строки и колонки "начерно" пожаты и без снаппи. А теперь смотрите:

Снаппи лучше дожимает строки, чем колонки, потому что колонки и так уже пожаты хорошо.
Снаппи, как и любая такая компрессия, лучше на OLAP, чем на OLTP.

В итоге снаппи не лучше на OLAP, потому что OLAP-ные задачи клиенты держат на колонках, на которых он не очень-то полезен.
И снаппи не лучше на OLTP, потому что даже если он хорошо дожимает строки, это как ни крути OLTP с активностью на запись.

:(
Нет, ну если вы уже до этого жмете, то понятно. А чем жмете в колонках, DELTA-PFOR каждой страницы БД или что-то ещё?
Ну помимо того, что поколончатое хранение уже занимает меньше, чем построчное.

А насчет OLTP, для него хорошо подходит кэширование на чтение на SSD. А как я расписал выше, для него сжатие позволяет увеличить количество IOPs, преодолев ограничение на bandwidth.
...
Рейтинг: 0 / 0
Плюсы против голого Си, холивар #9
    #37930398
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
> Ты походу вообще выпал из струи прогресса и современных highload течений.

Смешно...
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Плюсы против голого Си, холивар #9
    #37930403
Фотография iv_an_ru
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
избытка CPUА чем жмете в колонках, DELTA-PFOR каждой страницы БД или что-то ещё?Жмём по-разному, но босс ещё не придумал "рекламных" названий.
...
Рейтинг: 0 / 0
Плюсы против голого Си, холивар #9
    #37930407
iv_an_ruизбытка CPUА чем жмете в колонках, DELTA-PFOR каждой страницы БД или что-то ещё?Жмём по-разному, но босс ещё не придумал "рекламных" названий.А как у вас по скорости/степени сжатия и затратам CPU относительно snappy?
...
Рейтинг: 0 / 0
Плюсы против голого Си, холивар #9
    #37930415
Фотография iv_an_ru
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
относительно snappyiv_an_ruпропущено...
Жмём по-разному, но босс ещё не придумал "рекламных" названий.А как у вас по скорости/степени сжатия и затратам CPU относительно snappy?А как сравнить сжатие для последующего частично-произвольного доступа с сжатием "до победного конца"?
...
Рейтинг: 0 / 0
Плюсы против голого Си, холивар #9
    #37930421
iv_an_ruотносительно snappyпропущено...
А как у вас по скорости/степени сжатия и затратам CPU относительно snappy?А как сравнить сжатие для последующего частично-произвольного доступа с сжатием "до победного конца"?
Как обычно, степень и скорость упаковки/распаковки всей страницы БД целиком. Возможность произвольного доступа к сжатым данным - это дополнительная фича и кстати не редкая для тех же NS, PFOR, ...
Если беспокоитесь, что сравнение будет "не корректным" или мне это "ничего не даст", то поверьте, я учту все нюансы и сделаю правильные выводы :)
...
Рейтинг: 0 / 0
Плюсы против голого Си, холивар #9
    #37930431
Фотография iv_an_ru
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
относительно snappy,

Я честно не знаю. Жмём очень удобные для сжатия данные очень быстро раза в два-два с половиной. Зип утрамбовал бы их почти вчетверо. Снаппи "за нами" дожимает на треть или чуть больше.
...
Рейтинг: 0 / 0
Плюсы против голого Си, холивар #9
    #37932648
донкихот
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
iv_an_ruПроясним ситуацпропущено...
... if the access is dense enough.

"Плохие" паттерны доступа + 4-килобайтные страницы = Большая Попа. Иначе зачем бы вообще придумывали большие страницы.
А с другой стороны, массовое тягание больших страниц туда-сюда = Вообще Мега-Попа, потому что в 64 мега внутреннего кэша диска садятся всего 16 таких 4 меговых страничек, ну и вообще мало кайфа таскать такие объёмы впустую.
А причем тут внутренний кэш диска и TLB?
...
Рейтинг: 0 / 0
Плюсы против голого Си, холивар #9
    #37932675
Фотография iv_an_ru
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
донкихотiv_an_ruпропущено...
... if the access is dense enough.

"Плохие" паттерны доступа + 4-килобайтные страницы = Большая Попа. Иначе зачем бы вообще придумывали большие страницы.
А с другой стороны, массовое тягание больших страниц туда-сюда = Вообще Мега-Попа, потому что в 64 мега внутреннего кэша диска садятся всего 16 таких 4 меговых страничек, ну и вообще мало кайфа таскать такие объёмы впустую.
А причем тут внутренний кэш диска и TLB?Есть у вас диск с 64 мегами RAM и NCQ на 30 команд. Пока я "сам" пишу кусками от 8 кило (одна моя логическая страница, она же текущий "минимум выравнивания" для O_DIRECT) до 1600 кило (мой самый длинный экстент), я могу надеяться, что памяти хватит даже на все 30 комманд, и диск лишней беготни и лишней записи делать не будет. Но я ж не могу дать хинт "дорогое ядро, запиши мне вот эти 24 килобайта из конца этой huge странички, и ещё 32 килобайта из начала следующей", я прохинтую целые странички, две штуки, общим весом 8 мегов. Всё, приехали. Значит надо юзать 4-х килобайтные странички, тогда хинтоваться всё будет правильно. Но каждые 64 гига ОЗУ это 16 миллионов коротких страниц. Тут возникает феерический вопрос --- а влезет ли активное подмножество TLB не то что в кэш TLB, а вообще в кэш проца?
...
Рейтинг: 0 / 0
Плюсы против голого Си, холивар #9
    #37932681
iv_an_ruЗначит надо юзать 4-х килобайтные странички, тогда хинтоваться всё будет правильно. Но каждые 64 гига ОЗУ это 16 миллионов коротких страниц. Тут возникает феерический вопрос --- а влезет ли активное подмножество TLB не то что в кэш TLB, а вообще в кэш проца?

Нет не влезет. А зачем ему туда влезать? В кеш? Кто поставил такую задачу и для чего?
Где вообще хоть какие-то тесты, которые говорят, что это недоделие - hugetlbs - дает хоть какие-то преимущества?

То, что показывали графики redhat - говорит явно о том, что hugetlb - это в общем случае полная ерунда, ну 5-10% от силы прироста.

У тебя реально какая-то маниакальная зацикленность на этом вопросе.
...
Рейтинг: 0 / 0
Плюсы против голого Си, холивар #9
    #37932692
Фотография iv_an_ru
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Проясним ситуац,

Да нету никакой зацикленности. Просто была в коде кучка ifdef-ов, через mmap таскать и лочить-разлочивать-хинтовать или всё делать самим с O_DIRECT. В итоге своя обработка рулит, только и всего. В двух последних версиях у нас от mmap остался ровно один mlock в ровно одном цикле --- в выделении своих дисковых буферов. Если что-то всерьёз изменится --- накатим старый дифф и померяем mmap ещё раз.
...
Рейтинг: 0 / 0
Плюсы против голого Си, холивар #9
    #37932703
донкихот
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
iv_an_ruдонкихотпропущено...

А причем тут внутренний кэш диска и TLB?Есть у вас диск с 64 мегами RAM и NCQ на 30 команд. Пока я "сам" пишу кусками от 8 кило (одна моя логическая страница, она же текущий "минимум выравнивания" для O_DIRECT) до 1600 кило (мой самый длинный экстент), я могу надеяться, что памяти хватит даже на все 30 комманд, и диск лишней беготни и лишней записи делать не будет. Но я ж не могу дать хинт "дорогое ядро, запиши мне вот эти 24 килобайта из конца этой huge странички, и ещё 32 килобайта из начала следующей", я прохинтую целые странички, две штуки, общим весом 8 мегов . Всё, приехали. Значит надо юзать 4-х килобайтные странички, тогда хинтоваться всё будет правильно. Но каждые 64 гига ОЗУ это 16 миллионов коротких страниц. Тут возникает феерический вопрос --- а влезет ли активное подмножество TLB не то что в кэш TLB, а вообще в кэш проца?
Вы акцентировались на проблеме попадания на границу между двумя huge-страницами, но вероятность этого достаточно мала и общий вклад не велик.
Я правильно понял, что вторая проблема, как записать 32-64 кб данных из страницы размером 4 мб?
А вы реально тестировали, у вас перестройка очереди команд с NCQ на сколько и когда помогает?
...
Рейтинг: 0 / 0
Плюсы против голого Си, холивар #9
    #37932719
Фотография iv_an_ru
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
донкихотА вы реально тестировали, у вас перестройка очереди команд с NCQ на сколько и когда помогает?Мы сами не тестировали, нам клиент подарил результаты их ин-хаус прогонов. На жёстких дисках NCQ от 0% ровно и до +20% им подарил, в зависимости от моделей, причём размер буфера оказался почему-то "в два раза важнее", чем думали, как будто только половина используется действительно для буферизации, а на второй дивайс в тетрис сам с собой играет. На SSD разброс ещё больше --- от 0% ровно до 4-х раз.
...
Рейтинг: 0 / 0
Плюсы против голого Си, холивар #9
    #37932750
iv_an_ruВ итоге своя обработка рулит

То что своя обработка рулит (рулит - управляет - rule), это и ежу понятно, что вы понаписали свой велосипед от синтетики и радуетесь.

Осталось выяснить - помогли ли вам эти hugetlb или нет.

Ну кроме эффекта плацебо, на синтетике.
...
Рейтинг: 0 / 0
Плюсы против голого Си, холивар #9
    #37932754
донкихот
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
iv_an_ruдонкихотА вы реально тестировали, у вас перестройка очереди команд с NCQ на сколько и когда помогает?Мы сами не тестировали, нам клиент подарил результаты их ин-хаус прогонов. На жёстких дисках NCQ от 0% ровно и до +20% им подарил, в зависимости от моделей, причём размер буфера оказался почему-то "в два раза важнее", чем думали, как будто только половина используется действительно для буферизации, а на второй дивайс в тетрис сам с собой играет. На SSD разброс ещё больше --- от 0% ровно до 4-х раз.
Это потому, что дисковый кэш нужен для перестроения очереди и сглаживания скачков производительности, т.е. когда его достаточно то больше уже не надо. Так же как интерфейс диска, должен быть примерно в 2 раза больше максимальной скорости диска (которая на самом деле нечто усредненное между пиками и провалами), а ещё больше уже смысла не имеет.
Но честно говоря так до конца и не понял как NCQ соотносится с TLB, т.к. они друг о друге ничего не знают.
...
Рейтинг: 0 / 0
Плюсы против голого Си, холивар #9
    #37932757
донкихотНо честно говоря так до конца и не понял как NCQ соотносится с TLB, т.к. они друг о друге ничего не знают.

Пациент рассказывал о собственной низкоуровневой реализации механизма кеширования (через ручное управление HugeTLB сегментами), там-же у них в т.ч. ручное управление операциями чтения с флагами c O_DIRECT, эдакое вспомоществование для NCQ

Короче чуваки у себя в деревне решили на ленд-лизовский Шерман прикрутить направляющие от Катюши, и двигатель от Ил-2 вставить.

У них даже покупает кто-то это.
...
Рейтинг: 0 / 0
Плюсы против голого Си, холивар #9
    #37932763
Фотография iv_an_ru
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
донкихотНо честно говоря так до конца и не понял как NCQ соотносится с TLB, т.к. они друг о друге ничего не знают.Если мы "сами" пишем, то никак и не соотносятся. Если надеемся на ядро, то проблема с большими страницами ровно одна --- как бы попросить ядро записать кусочек меньше 4-х мегов.
...
Рейтинг: 0 / 0
Плюсы против голого Си, холивар #9
    #37932764
Фотография iv_an_ru
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
донкихотЭто потому, что дисковый кэш нужен для перестроения очереди и сглаживания скачков производительности, т.е. когда его достаточно то больше уже не надо.Значит мы ещё не дошли до этого "больше не надо". Разница между 32Мб и 64Мб на диск оказалась заметной.
...
Рейтинг: 0 / 0
Плюсы против голого Си, холивар #9
    #37938419
Crack.tro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
В мире на данный момент есть всего три языка программирования, позволяющих наиболее эффективно решать любые задачи системного программирования, клиентских интерфейсов и всего остального. Это ANSI С (C99), JavaScript (ECMAScript 5) и Python (2.x >=2.6) соответственно. Остальное, не считая узкоспециализированных скриптов а-ля bash или sed, а также ассемблеров, нафиг не нужно.
...
Рейтинг: 0 / 0
Плюсы против голого Си, холивар #9
    #37938461
Фотография iv_an_ru
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Crack.tro,

вы забыли определить, эффективность по каким именно параметрам вы имеете в виду.
...
Рейтинг: 0 / 0
Плюсы против голого Си, холивар #9
    #37938607
enigmatic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
iv_an_ruCrack.tro,

вы забыли определить, эффективность по каким именно параметрам вы имеете в виду.
Видимо, имеется в виду эффективность по Crack.tro-параметрам.
...
Рейтинг: 0 / 0
Плюсы против голого Си, холивар #9
    #37938859
хорош
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Crack.troВ мире на данный момент есть всего три языка программирования, позволяющих наиболее эффективно решать любые задачи системного программирования, клиентских интерфейсов и всего остального. Это ANSI С (C99), JavaScript (ECMAScript 5) и Python (2.x >=2.6) соответственно. Остальное, не считая узкоспециализированных скриптов а-ля bash или sed, а также ассемблеров, нафиг не нужно.
Хотя бы скажите чем конкретно каждый из них хорош?
...
Рейтинг: 0 / 0
Плюсы против голого Си, холивар #9
    #37938928
донкихот
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Проясним ситуацдонкихотНо честно говоря так до конца и не понял как NCQ соотносится с TLB, т.к. они друг о друге ничего не знают.

Пациент рассказывал о собственной низкоуровневой реализации механизма кеширования (через ручное управление HugeTLB сегментами), там-же у них в т.ч. ручное управление операциями чтения с флагами c O_DIRECT, эдакое вспомоществование для NCQ

Короче чуваки у себя в деревне решили на ленд-лизовский Шерман прикрутить направляющие от Катюши, и двигатель от Ил-2 вставить.

У них даже покупает кто-то это.
Ну из ссылке в профиле вроде не совсем колхоз. Но излишний перфекционизм заметен.
http://virtuoso.openlinksw.com/

Для жесткого диска плюс 20% в максимуме это не много, но если профит от ручного управления в среднем дает хотя бы половину от заявленных 4х раз для SSD, т.е. в 2 раза, то оно того стоит. По крайне мере пока стандартные средства не оптимизированы под SSD.
...
Рейтинг: 0 / 0
Плюсы против голого Си, холивар #9
    #37939181
донкихотНу из ссылке в профиле вроде не совсем колхоз. Но излишний перфекционизм заметен.
http://virtuoso.openlinksw.com/

якобы highload и текстовые форматы данных (как и подобия SQL) - уже признак колхоза

разобрал-собрал-разобрал-собрал-разобрал-собрал
...
Рейтинг: 0 / 0
Плюсы против голого Си, холивар #9
    #37939189
донкихотДля жесткого диска плюс 20% в максимуме это не много, но если профит от ручного управления в среднем дает хотя бы половину от заявленных 4х раз для SSD, т.е. в 2 раза, то оно того стоит. По крайне мере пока стандартные средства не оптимизированы под SSD.

LSM одинаково хорош и для HDD и для SSD. Просто пока рулят арбалеты вроде Oracle, MySQL ISAM и даже этого вашего виртуозо с 100-ей клиентов, но их head i/o паттерны одинаково плохи и для SSD и для HDD (для SSD не настолько плохи, впрочем).

Но со временем нарезные ружья индейцев попотеснят (как netezza уже вовсю давит всякие Oracle с их экзадатами).
...
Рейтинг: 0 / 0
Плюсы против голого Си, холивар #9
    #37939279
Фотография iv_an_ru
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Проясним ситуацякобы highload и текстовые форматы данных (как и подобия SQL) - уже признак колхозаЧто юзеры закачивают/запрашивают, то и съедается/отдаётся. Попросите, скажем, карту в WKT --- получите текст ("колхоз"), попросите её же в WKB --- получите бинарный поток ("не колхоз").
...
Рейтинг: 0 / 0
Плюсы против голого Си, холивар #9
    #37939290
iv_an_ruПроясним ситуацякобы highload и текстовые форматы данных (как и подобия SQL) - уже признак колхозаЧто юзеры закачивают/запрашивают, то и съедается/отдаётся. Попросите, скажем, карту в WKT --- получите текст ("колхоз"), попросите её же в WKB --- получите бинарный поток ("не колхоз").

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

Как говорится, сделайте систему, которой сможет пользоваться любой дурак - и только дураки и будут ей пользоваться.
...
Рейтинг: 0 / 0
Плюсы против голого Си, холивар #9
    #37939295
Фотография iv_an_ru
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Проясним ситуацТак никто бинарные форматы и не просит, вот вы и не делаете, это и так понятно.Да нет, просят. Но --- как бы вам ни хотелось --- не все :)
...
Рейтинг: 0 / 0
Плюсы против голого Си, холивар #9
    #37939481
донкихот
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Проясним ситуацдонкихотНу из ссылке в профиле вроде не совсем колхоз. Но излишний перфекционизм заметен.
http://virtuoso.openlinksw.com/

якобы highload и текстовые форматы данных (как и подобия SQL) - уже признак колхоза

разобрал-собрал-разобрал-собрал-разобрал-собрал
А подобие SQL это RDF?

А в Netezza i/o паттерны разве сильно отличаются от Exadata на задачах для которых они предназначены DWH/DSS (те же sequential io)?
Насколько помню единственное, что выделялось - это FPGA в Netezza, которая чуть-чуть выгодней CPU, но меркнет на фоне цены лицензий.
...
Рейтинг: 0 / 0
Плюсы против голого Си, холивар #9
    #37939482
донкихот
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
iv_an_ruПроясним ситуацякобы highload и текстовые форматы данных (как и подобия SQL) - уже признак колхозаЧто юзеры закачивают/запрашивают, то и съедается/отдаётся. Попросите, скажем, карту в WKT --- получите текст ("колхоз"), попросите её же в WKB --- получите бинарный поток ("не колхоз").
А у вас любая Virtual Data Base может работать с абсолютно любым Unified Storage Model?
...
Рейтинг: 0 / 0
Плюсы против голого Си, холивар #9
    #37939485
Фотография iv_an_ru
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
донкихотА подобие SQL это RDF?Это в любом случае неверно. SQL/RDF = type error :) Точнее было бы сказать SQL/SPARQL = EAV/RDF .
...
Рейтинг: 0 / 0
Плюсы против голого Си, холивар #9
    #37939492
Фотография iv_an_ru
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
донкихотiv_an_ruпропущено...
Что юзеры закачивают/запрашивают, то и съедается/отдаётся. Попросите, скажем, карту в WKT --- получите текст ("колхоз"), попросите её же в WKB --- получите бинарный поток ("не колхоз").
А у вас любая Virtual Data Base может работать с абсолютно любым Unified Storage Model?Не понял вопрос. Виртуальная схема позволяет просто прицепить "посторонние" таблицы к своей схеме и использовать в запросах, скрывая от приложения местонахождение тех или иных данных. А Unified Storage Model это просто "рекламный" термин такой, означающий что те сервисы, которые обычно делаются над файловой системой и те ресурсы, которые обычно сваливают в файлы, держат все данные в реляционных таблицах и эти данные доступны для хранимок на PL и hosting languages.
...
Рейтинг: 0 / 0
Плюсы против голого Си, холивар #9
    #37939498
донкихот
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
iv_an_ruдонкихотА подобие SQL это RDF?Это в любом случае неверно. SQL/RDF = type error :) Точнее было бы сказать SQL/SPARQL = EAV/RDF .
Интересно, что имелось ввиду под "подобие SQL". SQL не может быть подобием самого себя, с Text или XML мало чего общего. Остается RDF.
...
Рейтинг: 0 / 0
Плюсы против голого Си, холивар #9
    #37939512
донкихот
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
iv_an_ruдонкихотпропущено...

А у вас любая Virtual Data Base может работать с абсолютно любым Unified Storage Model?Не понял вопрос. Виртуальная схема позволяет просто прицепить "посторонние" таблицы к своей схеме и использовать в запросах, скрывая от приложения местонахождение тех или иных данных. А Unified Storage Model это просто "рекламный" термин такой , означающий что те сервисы, которые обычно делаются над файловой системой и те ресурсы, которые обычно сваливают в файлы, держат все данные в реляционных таблицах и эти данные доступны для хранимок на PL и hosting languages.
То есть модель хранения у вас одна, реляционная колончатая, а термин Unified Storage Model просто обозначает, что любая из Virtual Data Base может обращаться к единой модели хранения?
Не совсем понятно, зачем тогда вообще в Unified Storage Model какие-то аббревиатуры вписали и особенно странно смотрится SQL как модель хранения :)
...
Рейтинг: 0 / 0
Плюсы против голого Си, холивар #9
    #37939526
Фотография iv_an_ru
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
донкихотТо есть модель хранения у вас одна, реляционная колончатая, а термин Unified Storage Model просто обозначает, что любая из Virtual Data Base может обращаться к единой модели хранения?
Не совсем понятно, зачем тогда вообще в Unified Storage Model какие-то аббревиатуры вписали и особенно странно смотрится SQL как модель хранения :)Моделей хранения несколько --- строки, колонки, XML-и как "родные" объекты с индексацией, RDF, сейчас вот расширяем поддержку пространсвенных заморочек. При этом содержимое XML-ей или RDF-ов может быть представлено в SQL-ных видах, реляционные данные могут быть основой для XML Views и RDF Views, DAV-клиент может загружать ресурсы прям в RDF-хранилище и т.п. Возможных комбинаций представлений "на диске" и представлений "для приложения" набирается довольно много.
...
Рейтинг: 0 / 0
Плюсы против голого Си, холивар #9
    #37945784
донкихот
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
iv_an_ruдонкихотТо есть модель хранения у вас одна, реляционная колончатая, а термин Unified Storage Model просто обозначает, что любая из Virtual Data Base может обращаться к единой модели хранения?
Не совсем понятно, зачем тогда вообще в Unified Storage Model какие-то аббревиатуры вписали и особенно странно смотрится SQL как модель хранения :)Моделей хранения несколько --- строки, колонки, XML-и как "родные" объекты с индексацией, RDF, сейчас вот расширяем поддержку пространсвенных заморочек. При этом содержимое XML-ей или RDF-ов может быть представлено в SQL-ных видах, реляционные данные могут быть основой для XML Views и RDF Views, DAV-клиент может загружать ресурсы прям в RDF-хранилище и т.п. Возможных комбинаций представлений "на диске" и представлений "для приложения" набирается довольно много.
А у вас на весь тейблспейс/схему именно только либо чистые строки, либо чистые колонки?
Или есть гибридный PAX: http://www.dbms2.com/2009/08/04/pax-analytica-row-and-column-stores-begin-to-come-together/
И жмете вы блок/страницу данных целиком с фиксированным начальным или конечным размером?
...
Рейтинг: 0 / 0
Плюсы против голого Си, холивар #9
    #37945795
Фотография iv_an_ru
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
донкихотА у вас на весь тейблспейс/схему именно только либо чистые строки, либо чистые колонки?
Нет, на каждый индекс каждой таблицы по отдельности. Так же как в случае кластера на каждый индекс возможет выбор между репликацией, фиксированным шардингом и эластичным шардингом.
донкихотИ жмете вы блок/страницу данных целиком с фиксированным начальным или конечным размером?Фиксированный "разжатый" размер для построчных индексов и LOB, фиксированный "промежуточный" размер для колонок и битмап индексов.
...
Рейтинг: 0 / 0
Плюсы против голого Си, холивар #9
    #37945802
донкихот
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
iv_an_ruдонкихотА у вас на весь тейблспейс/схему именно только либо чистые строки, либо чистые колонки?
Нет, на каждый индекс каждой таблицы по отдельности. Так же как в случае кластера на каждый индекс возможет выбор между репликацией, фиксированным шардингом и эластичным шардингом.
А в случае кластера всегда соблюдается правило, что для любой строки её полностью (все поля) можно получить с одного сервера?
iv_an_ruдонкихотИ жмете вы блок/страницу данных целиком с фиксированным начальным или конечным размером?Фиксированный "разжатый" размер для построчных индексов и LOB, фиксированный "промежуточный" размер для колонок и битмап индексов.
А промежуточный это что такое? :)
...
Рейтинг: 0 / 0
Плюсы против голого Си, холивар #9
    #37945808
Фотография iv_an_ru
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
донкихотiv_an_ruпропущено...

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

iv_an_ruпропущено...
Фиксированный "разжатый" размер для построчных индексов и LOB, фиксированный "промежуточный" размер для колонок и битмап индексов.
А промежуточный это что такое? :)[/quot]Там двухуровневая компрессия. Сначала жмём колонку в промежуточную структуру с частично-произвольным доступом и частичным словарём, несколько таких структур укладываются в фиксированную по размеру 8k страницу дискового буфера. Потом экстент из нескольких таких страниц дополнительно жмётся для записи на диск.
...
Рейтинг: 0 / 0
Плюсы против голого Си, холивар #9
    #37946210
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
On 09/06/2012 03:50 AM, iv_an_ru wrote:

Как-то холивар пошёл не в ту сторону.

Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Плюсы против голого Си, холивар #9
    #37946662
донкихот
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
iv_an_ru, т.е. как раз первый раз жмете словарным алгоритмом, а второй раз snappy?
А все-таки, почему не взяли PAX и не стали жать как в Oracle ?
...
Рейтинг: 0 / 0
Плюсы против голого Си, холивар #9
    #37946697
Фотография iv_an_ru
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
донкихотiv_an_ru, т.е. как раз первый раз жмете словарным алгоритмом, а второй раз snappy?
А все-таки, почему не взяли PAX и не стали жать как в Oracle ?Там не словарный, но подробности реализаци и причины "почему так а не эдак" я бы не хотел рассказывать раньше, чем у этой коммерческой версии появится опенсорсный вариант. Хоть язык и чешется :)
...
Рейтинг: 0 / 0
Плюсы против голого Си, холивар #9
    #37947447
донкихот
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
iv_an_ruдонкихотiv_an_ru, т.е. как раз первый раз жмете словарным алгоритмом, а второй раз snappy?
А все-таки, почему не взяли PAX и не стали жать как в Oracle ?Там не словарный, но подробности реализаци и причины "почему так а не эдак" я бы не хотел рассказывать раньше, чем у этой коммерческой версии появится опенсорсный вариант. Хоть язык и чешется :)
Хотя бы понятно, что тестировали и нашли плюсы по сравнению с оракловой, а не то что просто не успели реализовать :)
А у вас кстати система под банковские OLTP задачи, в частности под карточный процессинг не применяется?
...
Рейтинг: 0 / 0
Плюсы против голого Си, холивар #9
    #37947475
Фотография iv_an_ru
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
донкихотА у вас кстати система под банковские OLTP задачи, в частности под карточный процессинг не применяется?Вряд ли. Миддлварные СУБД стараются использовать только там, где это технически необходимо, потому что это или лишние затраты на более редких специалистов или затраты на освоение человеком лишнего софта, и всегда более частые обновления потому что чем больше у СУБД интерфейсов, тем чаще она страдает от изменений стандартов на эти интерфейсы. Так что если банковскую задачу можно решить СУБД от большого вендора, то он и будет выбран.

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

А вот, скажем, для гейта, через который в своё время проходила примерно половина SMS, отправлявшихся в Европе с компов, Виртуоза пошла на ура. Чтобы совместить OLTP с таким зоопарком разных чужих API, оказалось практичней взять именно миддлварь.

То есть вопрос в переплате за неиспользуемые миддлварные возможности, а не в пригодности для OLTP.
...
Рейтинг: 0 / 0
Плюсы против голого Си, холивар #9
    #37947541
донкихот
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
iv_an_ruдонкихотА у вас кстати система под банковские OLTP задачи, в частности под карточный процессинг не применяется?Вряд ли. Миддлварные СУБД стараются использовать только там, где это технически необходимо, потому что это или лишние затраты на более редких специалистов или затраты на освоение человеком лишнего софта, и всегда более частые обновления потому что чем больше у СУБД интерфейсов, тем чаще она страдает от изменений стандартов на эти интерфейсы. Так что если банковскую задачу можно решить СУБД от большого вендора, то он и будет выбран.

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

А вот, скажем, для гейта, через который в своё время проходила примерно половина SMS, отправлявшихся в Европе с компов, Виртуоза пошла на ура. Чтобы совместить OLTP с таким зоопарком разных чужих API, оказалось практичней взять именно миддлварь.

То есть вопрос в переплате за неиспользуемые миддлварные возможности, а не в пригодности для OLTP.
Мидлварная СУБД чем хороша, что на неё легче всего перенести любое приложение, чем на любую другую СУБД. Т.е. легкий вопрос миграции позволяет протестировать её в качестве разных задач и если она покажет себя хорошо, то перейти на неё.
Если у неё множество интерфейсов, богатый SQL и функционал, то процесс доказательства её превосходства намного короче, чем сравнение между собой Oracle<->MSSQL<->DB2 на одном приложении. Т.е. весь вопрос: есть ли превосходства в скорости и насколько грамотный маркетинг.
Конечно кластер-MPP это не совсем про OLTP, но если она хороша на NUMA, то вполне могла бы подойти под OLTP задачи на Aix, а под DSS на кластере-MPP и подавно.
...
Рейтинг: 0 / 0
Плюсы против голого Си, холивар #9
    #37947634
Фотография iv_an_ru
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
донкихотМидлварная СУБД чем хороша, что на неё легче всего перенести любое приложение, чем на любую другую СУБД. Т.е. легкий вопрос миграции позволяет протестировать её в качестве разных задач и если она покажет себя хорошо, то перейти на неё.
Если у неё множество интерфейсов, богатый SQL и функционал, то процесс доказательства её превосходства намного короче, чем сравнение между собой Oracle<->MSSQL<->DB2 на одном приложении. Т.е. весь вопрос: есть ли превосходства в скорости и насколько грамотный маркетинг.Превосходства в скорости начинаются, когда логика приложения по максимуму трамбуется в одну миддлварь, когда накладных расходов на IPC нет по той причине, что процесс один. Но это означает большую разработку на экзотической платформе, со всеми сопутствующими переплатами персоналу и рисками мёртвой привязки к одному вендору. Скажем, почему Виртуозу часто используют под задачи, связанные с RDF? Да просто логика приложения может по объёму быть минимальна, или вообще может хватать встроенного в сервер набора инструментов. Скажем http://services.data.gov делается бесплатно --- инсталлировали виртуозу из коробки, пропустили порт через файрвол, включили репликацию данных, и всё. Плюсы в виде скорости и "всеядности" по части импорта данных есть, минусов в виде цены разработки нет. Дяденьки из data.gov даже поленились свой логотип в страничку воткнуть --- все равно её только девелоперы видят.

Если кто целиком всё нужное для любого банка напишет на виртуозе, чтоб инсталлировал из коробки, БИК-SWIFT-IBAN прописал в конфиг и на этом "разработка" закончена --- тоже, наверное, будет продаваться :)
...
Рейтинг: 0 / 0
Плюсы против голого Си, холивар #9
    #37948940
донкихот
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
iv_an_ruдонкихотМидлварная СУБД чем хороша, что на неё легче всего перенести любое приложение, чем на любую другую СУБД. Т.е. легкий вопрос миграции позволяет протестировать её в качестве разных задач и если она покажет себя хорошо, то перейти на неё.
Если у неё множество интерфейсов, богатый SQL и функционал, то процесс доказательства её превосходства намного короче, чем сравнение между собой Oracle<->MSSQL<->DB2 на одном приложении. Т.е. весь вопрос: есть ли превосходства в скорости и насколько грамотный маркетинг.Превосходства в скорости начинаются, когда логика приложения по максимуму трамбуется в одну миддлварь, когда накладных расходов на IPC нет по той причине, что процесс один. Но это означает большую разработку на экзотической платформе, со всеми сопутствующими переплатами персоналу и рисками мёртвой привязки к одному вендору.
Основное требование карточного процессинга как раз то, что он должен трамбоваться в одну СУБД на одном большом NUMA-сервере, с возможностью Hot StandBy.
Имелось ввиду один процесс на всю мидлварь на все коннекты? :)

iv_an_ruЕсли кто целиком всё нужное для любого банка напишет на виртуозе, чтоб инсталлировал из коробки, БИК-SWIFT-IBAN прописал в конфиг и на этом "разработка" закончена --- тоже, наверное, будет продаваться :)
Вот если бы она понимала оракловый диалект, пусть даже по ODBC и без хинтов в комментариях :)
Ведь очевидно, что любой инвестор сначала запросит тесты, и чем легче перенести приложение, тем дешевле тесты - тем больше шансов, что их проведут. А дальше уже по их результатам.
...
Рейтинг: 0 / 0
Плюсы против голого Си, холивар #9
    #37948946
донкихотОсновное требование карточного процессинга как раз то, что он должен трамбоваться в одну СУБД на одном большом NUMA-сервере, с возможностью Hot StandBy.
Имелось ввиду один процесс на всю мидлварь на все коннекты? :)

Да да, и все банки в мире - все дружно в эту одну СУБД ходят?


Что мешает банк логически поделить на 1024 подбанка, у каждого - по своей базенке? Подумай логически.
Сбербанк + Альфабанк + ВТБ и Сбербанк1 + Себрбанк2 + Альфа + ВТБ, в чом разница, с т.з. VISA?
...
Рейтинг: 0 / 0
Плюсы против голого Си, холивар #9
    #37948989
Фотография iv_an_ru
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
донкихотiv_an_ruпропущено...
Превосходства в скорости начинаются, когда логика приложения по максимуму трамбуется в одну миддлварь, когда накладных расходов на IPC нет по той причине, что процесс один. Но это означает большую разработку на экзотической платформе, со всеми сопутствующими переплатами персоналу и рисками мёртвой привязки к одному вендору.
Основное требование карточного процессинга как раз то, что он должен трамбоваться в одну СУБД на одном большом NUMA-сервере, с возможностью Hot StandBy.
Имелось ввиду один процесс на всю мидлварь на все коннекты? :)В идеале --- да :) Хотя можно и кластер с балансировкой, так уж и быть :) Но главное, чтобы все HTTP/DAV/FTP/NNTP/SOAP/что-там-ещё не валялись в отдельных процессах, а как минимум хостились самой виртуозой, как максимум --- были написаны на Virtuoso/PL. какой смысл разгонять до упора исполнение отдельной транзакции, если весь комплекс будет скучать в ожидании IPC?

У меня был милый "карманный" пример. На официальном XSLTMark наш XSLT-процессор проигрывал микрософтовскому раза в два, и даже оракловскому проигрывал. Зато скрипт, который скармливал микрософтовому процу DocBook-и нашей документации и генерил HTML-и, выполнялся на тогдашнем оборудовании 10 минут, а аналог на Virtuoso/PL + почти те же XSLT --- 10 секунд. Тут откешировалось получше, там не стало парситься второй раз, ещё где-то документ загрузился только частично и.т.п.
...
Рейтинг: 0 / 0
Плюсы против голого Си, холивар #9
    #37949672
донкихот
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ну нифигасебе заявы!донкихотОсновное требование карточного процессинга как раз то, что он должен трамбоваться в одну СУБД на одном большом NUMA-сервере, с возможностью Hot StandBy.
Имелось ввиду один процесс на всю мидлварь на все коннекты? :)

Да да, и все банки в мире - все дружно в эту одну СУБД ходят?


Что мешает банк логически поделить на 1024 подбанка, у каждого - по своей базенке? Подумай логически.
Сбербанк + Альфабанк + ВТБ и Сбербанк1 + Себрбанк2 + Альфа + ВТБ, в чом разница, с т.з. VISA?
Если бы приложения писались исключительно грамотными специалистами, то есть в ваших словах доля правды. Но в реальности вендоры приложений не во всех версиях заявляют поддержку даже Shared Everything (Oracle RAC), чего уж там говорить про SharedNothing/MPP.
Карточный процессинг это не DWH, где пару таблиц фактов занимают более 90% используемых данных и репликация справочников мелочь. Здесь справочники занимают больше половины и почти никакие из них не могут быть секционированы/шардированы "вслед за фактами".
...
Рейтинг: 0 / 0
Плюсы против голого Си, холивар #9
    #37949678
донкихот
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
iv_an_ruдонкихотпропущено...

Основное требование карточного процессинга как раз то, что он должен трамбоваться в одну СУБД на одном большом NUMA-сервере, с возможностью Hot StandBy.
Имелось ввиду один процесс на всю мидлварь на все коннекты? :)В идеале --- да :) Хотя можно и кластер с балансировкой, так уж и быть :) Но главное, чтобы все HTTP/DAV/FTP/NNTP/SOAP/что-там-ещё не валялись в отдельных процессах, а как минимум хостились самой виртуозой, как максимум --- были написаны на Virtuoso/PL. какой смысл разгонять до упора исполнение отдельной транзакции, если весь комплекс будет скучать в ожидании IPC?
Тут требования упрощаются до того, чтобы все, что касается одного конекта было в одном процессе.

Чтобы все конекты в один процесс запихать, это компромисс с надежностью, у разных процессов большая изолированность. Если в час пик упадет процесс и вместе с ним одномоментно все конекты, затем начнут разом откатывается все незавершенные транзакции и переподключаться все накопившиеся конекты, то есть вероятность стать первооткрывателем новых багов.
Если имеется ввиду, что бы разные конекты почти не обменивались данным между собой, то тут уж какие бизнес требования и как их реализуют в приложении.
...
Рейтинг: 0 / 0
Плюсы против голого Си, холивар #9
    #37949726
the thor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
донкихотКарточный процессинг это не DWH, где пару таблиц фактов занимают более 90% используемых данных и репликация справочников мелочь. Здесь справочники занимают больше половины и почти никакие из них не могут быть секционированы/шардированы "вслед за фактами".



Это кто еще за справочники такие?
...
Рейтинг: 0 / 0
Плюсы против голого Си, холивар #9
    #37949778
Фотография iv_an_ru
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
донкихотЧтобы все конекты в один процесс запихать, это компромисс с надежностью, у разных процессов большая изолированность.Ну да, компромисс. Тут главное --- насколько важна плавная деградация.
К примеру, если у платёжной системы откажет один веб-сервис, а остальное продолжит работать, это будет куда лучше отказа всего сразу. Плавная деградация является критически важной характеристикой, которая в верифицируемом виде присутствует в ТЗ.
А если у SMS-шлюза для веб-юзеров в GSM откажет только интерфейс к связистам или только веб-сервис, для юзеров это будет ровно так же плохо, как если бы упало всё сразу, потому что последствия во всех трёх случаях одинаковые и называются "вообще ничего не работает".
...
Рейтинг: 0 / 0
Плюсы против голого Си, холивар #9
    #37949961
донкихот
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
the thorдонкихотКарточный процессинг это не DWH, где пару таблиц фактов занимают более 90% используемых данных и репликация справочников мелочь. Здесь справочники занимают больше половины и почти никакие из них не могут быть секционированы/шардированы "вслед за фактами".



Это кто еще за справочники такие?
Это которые между собой имеют связь многие со многими.
...
Рейтинг: 0 / 0
Плюсы против голого Си, холивар #9
    #37952117
донкихотthe thorпропущено...




Это кто еще за справочники такие?
Это которые между собой имеют связь многие со многими.

Какой глубокомысленный, высококвалифицированный и всеобъемлющий ответ, спасибо!

Но вот конкретно привести пример M:N справочника можно? Название его?
Который ну никак не поддается репликации на 1024 ноды?
...
Рейтинг: 0 / 0
Плюсы против голого Си, холивар #9
    #37952789
донкихот
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Проясним ситуацдонкихотпропущено...

Это которые между собой имеют связь многие со многими.

Какой глубокомысленный, высококвалифицированный и всеобъемлющий ответ, спасибо!

Но вот конкретно привести пример M:N справочника можно? Название его?
Который ну никак не поддается репликации на 1024 ноды?
Простейший пример, при снятии денег в таблицу пишутся записи ссылающиеся на справочник с карточками и справочник с точками съема денег. С любой карточки можно снять с любого банкомата/магазина/...
Вот вы бы все 3 таблицы по какому ключу их секционировали?
...
Рейтинг: 0 / 0
Плюсы против голого Си, холивар #9
    #37952819
Фотография iv_an_ru
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
донкихот,

Если все равно с избыточностью копий хранить, то почему бы несколько копий не нарезать по карточкам, а ещё несколько --- по банкоматам? И пусть оптимизатор решает, то ли на одной половине colocation устроить, то ли на другой, то ли распилить какой матерный агрегат вообще по всем копиям всех видов.
...
Рейтинг: 0 / 0
Плюсы против голого Си, холивар #9
    #37952847
донкихотПроясним ситуацпропущено...


Какой глубокомысленный, высококвалифицированный и всеобъемлющий ответ, спасибо!

Но вот конкретно привести пример M:N справочника можно? Название его?
Который ну никак не поддается репликации на 1024 ноды?
Простейший пример, при снятии денег в таблицу пишутся записи ссылающиеся на справочник с карточками и справочник с точками съема денег. С любой карточки можно снять с любого банкомата/магазина/...
Вот вы бы все 3 таблицы по какому ключу их секционировали?


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

Это раз.

Два - ты видать сильно не в курсе, что там никаких M:M и прочих подобных глупостей нет. При транзакции код банкомата просто тупо пишется в таблицу фактов, вместе с данными о принадлежности того банкомата и т.п. (это называется денормализация, дети).

Что тебе с того справочника банкоматов надо? Модель, дата выпуска, инвентарный номер, версия установленного ПО? Да неужели?

В общем ты походу видать совсем не в теме, так, поговорить решил, о чем-то там неведомом?
...
Рейтинг: 0 / 0
Плюсы против голого Си, холивар #9
    #37952861
iv_an_ruдонкихот,

Если все равно с избыточностью копий хранить, то почему бы несколько копий не нарезать по карточкам, а ещё несколько --- по банкоматам? И пусть оптимизатор решает, то ли на одной половине colocation устроить, то ли на другой, то ли распилить какой матерный агрегат вообще по всем копиям всех видов.

Просто гениально, просто. Рукоплескание в студии.

На одной ноде повесить карточки, на другой - банкоматы, и зарядить remote query, со всеми вытекающими сетевыми тормозами и прочими SCN synchronization (в терминах Oracle).

Решение вполне достойно звания Архитектора.

С двух больших букв А
...
Рейтинг: 0 / 0
Плюсы против голого Си, холивар #9
    #37952970
донкихот
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Проясним ситуацдонкихотпропущено...

Простейший пример, при снятии денег в таблицу пишутся записи ссылающиеся на справочник с карточками и справочник с точками съема денег. С любой карточки можно снять с любого банкомата/магазина/...
Вот вы бы все 3 таблицы по какому ключу их секционировали?


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

Это раз.

Два - ты видать сильно не в курсе, что там никаких M:M и прочих подобных глупостей нет. При транзакции код банкомата просто тупо пишется в таблицу фактов, вместе с данными о принадлежности того банкомата и т.п. (это называется денормализация, дети).

Что тебе с того справочника банкоматов надо? Модель, дата выпуска, инвентарный номер, версия установленного ПО? Да неужели?

В общем ты походу видать совсем не в теме, так, поговорить решил, о чем-то там неведомом?
Назовите название системы процессирования карточных транзакций в которой реализовано как вы говорите?
...
Рейтинг: 0 / 0
Плюсы против голого Си, холивар #9
    #37952985
донкихот
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Проясним ситуацдонкихотпропущено...

Простейший пример, при снятии денег в таблицу пишутся записи ссылающиеся на справочник с карточками и справочник с точками съема денег. С любой карточки можно снять с любого банкомата/магазина/...
Вот вы бы все 3 таблицы по какому ключу их секционировали?


Карточка привязана к своей ноде (шарду), а банкоматов по стране всего несколько десятков тысяч, для любого сервера БД это семачки - т.е. можно их (справочники банкоматов) смело прокопировать по нодам.
По карточкам можно ещё совершать покупки, по всему миру, в десятках миллионов магазинов.
...
Рейтинг: 0 / 0
Плюсы против голого Си, холивар #9
    #37953019
донкихотНазовите название системы процессирования карточных транзакций в которой реализовано как вы говорите?

Шардирование в этих системах в явном виде не реализовано вообще. Как минимум в way4 его пока нет.
Потому они и требуют покупать гробы вроде ibm p795
...
Рейтинг: 0 / 0
Плюсы против голого Си, холивар #9
    #37953028
донкихотПроясним ситуацпропущено...



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

Отлично! Ты поведал нам уникальный факт, доселе неведомый прогрессивному человечеству.

И сталобыть эти справочники магазинов в каждый банк сотнями тыщ изменений ежедневно реплицируются, да?
Как много нового узнаешь порой.
...
Рейтинг: 0 / 0
Плюсы против голого Си, холивар #9
    #37953033
донкихот
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
iv_an_ruдонкихот,

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

Вон "Проясним ситуац" предлагает реплицировать справочники с точками съема, т.к. по его мнению существует только "несколько десятков тысяч" мест в мире где можно снять или оплатить с карточки. Или предлагает денормализацию, чтобы каждый писал в "факты" что захочется, без обращения к справочнику для хотя бы минимальной проверки сразу . Проясним ситуац видимо занимается веб-проектами.
...
Рейтинг: 0 / 0
Плюсы против голого Си, холивар #9
    #37953042
донкихот
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Проясним ситуацдонкихотНазовите название системы процессирования карточных транзакций в которой реализовано как вы говорите?

Шардирование в этих системах в явном виде не реализовано вообще. Как минимум в way4 его пока нет.
Потому они и требуют покупать гробы вроде ibm p795
Ну видите, вы умнее их всех. Лично я горд что общаюсь с вами! :)
...
Рейтинг: 0 / 0
Плюсы против голого Си, холивар #9
    #37953045
донкихотИли предлагает денормализацию, чтобы каждый писал в "факты" что захочется, без обращения к справочнику для хотя бы минимальной проверки сразу . Проясним ситуац видимо занимается веб-проектами.

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

Все эти 3БНФ - это хорошо для студентов, теоретиков и баз данных вида АРМ-Кадры размером с 100MB.
Но при количестве фактов более 10млн в день обычно науступает просветвление.
...
Рейтинг: 0 / 0
Плюсы против голого Си, холивар #9
    #37953069
донкихотПроясним ситуацпропущено...


Шардирование в этих системах в явном виде не реализовано вообще. Как минимум в way4 его пока нет.
Потому они и требуют покупать гробы вроде ibm p795
Ну видите, вы умнее их всех. Лично я горд что общаюсь с вами! :)

Нет, я не умнее. Я лишь указал - что банку ничто не мешает себя представить банком из 32 маленьких подбанков под одним управлением и общим лейблом (у ОПСОСов так и происходит).
И поставить для каждого "подбанка" отдельный, независимый процессинг - тем самым минимизировать масштаб и последствия глобальных
отказов, удешевить затраты на оборудование и ПО (серверы по цене растут совсем нелинейно от мощности).

Сейчас пока известно лишь то, что наши банки так не делают - мелочевке это не актуально, а у крупных еще понимание не
наступило, хотя недавние эпические отказы вроде бы должны были надоумить.
...
Рейтинг: 0 / 0
Плюсы против голого Си, холивар #9
    #37953082
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
On 09/11/2012 04:31 PM, донкихот wrote:

Все кто хотит реально холивара, идите в аналогичтный топик на RSDN.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Плюсы против голого Си, холивар #9
    #37953087
донкихот
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Проясним ситуацдонкихотИли предлагает денормализацию, чтобы каждый писал в "факты" что захочется, без обращения к справочнику для хотя бы минимальной проверки сразу . Проясним ситуац видимо занимается веб-проектами.

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

Все эти 3БНФ - это хорошо для студентов, теоретиков и баз данных вида АРМ-Кадры размером с 100MB.
Но при количестве фактов более 10млн в день обычно науступает просветвление.
В случае банков жертвуют скоростью ради надежности, нельзя чтобы все писали что попало, надо проверять.

Я так понимаю "высоконагруженными базами данных" для OLTP задач и у вас обычно все необходимые данные кэшированы в ОЗУ?
...
Рейтинг: 0 / 0
Плюсы против голого Си, холивар #9
    #37953090
MasterZivOn 09/11/2012 04:31 PM, донкихот wrote:

Все кто хотит реально холивара, идите в аналогичтный топик на RSDN.


Тынц на топик где?

Послать в неопределенность я тоже могу, запросто.
...
Рейтинг: 0 / 0
Плюсы против голого Си, холивар #9
    #37953097
Фотография kosh the best
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
нет, конечно весело реализовать очередную dbm поделку, но не стоит этим особенно гордится, лол
высоконагруженные веб приложения у него, а ха ха
...
Рейтинг: 0 / 0
Плюсы против голого Си, холивар #9
    #37953098
донкихот
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Проясним ситуацдонкихотпропущено...

Ну видите, вы умнее их всех. Лично я горд что общаюсь с вами! :)

Нет, я не умнее. Я лишь указал - что банку ничто не мешает себя представить банком из 32 маленьких подбанков под одним управлением и общим лейблом (у ОПСОСов так и происходит).
И поставить для каждого "подбанка" отдельный, независимый процессинг - тем самым минимизировать масштаб и последствия глобальных
отказов, удешевить затраты на оборудование и ПО (серверы по цене растут совсем нелинейно от мощности).

Сейчас пока известно лишь то, что наши банки так не делают - мелочевке это не актуально, а у крупных еще понимание не
наступило, хотя недавние эпические отказы вроде бы должны были надоумить.
Если про Сбер, то допустим OracleRAC их бы не спас от переполнения СХД под редо.
Или вы предлагаете руками шардировать и у ОПСОСов так же делают?
...
Рейтинг: 0 / 0
Плюсы против голого Си, холивар #9
    #37953100
[quot донкихот]Проясним ситуацпропущено...


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

Все эти 3БНФ - это хорошо для студентов, теоретиков и баз данных вида АРМ-Кадры размером с 100MB.
Но при количестве фактов более 10млн в день обычно науступает просветвление.
В случае банков жертвуют скоростью ради надежности, нельзя чтобы все писали что попало, надо проверять.


Причем тут скорость, причем тут надежность?

Вот стоит четыре банкомата. Какая разница, сколько за ними банков - четыре разных или один, которые обслуживает их все четыре?

Как быстрее будет? Четыре разных, или один большой? Подумай хорошо (на предмет конкуренции за некий разделяемый ресурс, блокировок и прочего).

донкихотЯ так понимаю "высоконагруженными базами данных" для OLTP задач и у вас обычно все необходимые данные кэшированы в ОЗУ?

Это уже прояснялось. Если workset активно обновляется - да, он хранится в ОЗУ. Если данные перетекли в историческую плоскость, и интересны только аналитикам - там все компрессируется (поколоночно), специальными джобами, за счет переноса
в другие БД, где в ОЗУ практически ничего не хранится, т.к. шанс того, что обрабатываемые 10 терабайт уместятся в достижимые на сегодняшний день объемы ОЗУ - ничтожно мал.
...
Рейтинг: 0 / 0
Плюсы против голого Си, холивар #9
    #37953168
донкихотЕсли про Сбер, то допустим OracleRAC их бы не спас от переполнения СХД под редо.
Ты походу попутал RAC - share everything, и sharding - share nothing.
Сходил бы подучил основы, а потом бы вещал истины, а?

донкихотИли вы предлагаете руками шардировать и у ОПСОСов так же делают?
Да, именно руками и делают. Абоненты Москвы вручную привязаны к одним серверам и базам, а какого Питера - к другим, и обе группы
друг про друга ничего не знают, физически и логически они вообще друг для друга - абоненты разных операторов. Не знал?
...
Рейтинг: 0 / 0
Плюсы против голого Си, холивар #9
    #37953261
донкихот
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Проясним ситуацдонкихотИли вы предлагаете руками шардировать и у ОПСОСов так же делают?
Да, именно руками и делают. Абоненты Москвы вручную привязаны к одним серверам и базам, а какого Питера - к другим, и обе группы
друг про друга ничего не знают, физически и логически они вообще друг для друга - абоненты разных операторов. Не знал?
И почему же в банках так не делают, как считаешь?
...
Рейтинг: 0 / 0
Плюсы против голого Си, холивар #9
    #37953283
Фотография iv_an_ru
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
донкихотТянуть данные с разных серверов для мелких транзакций это большие относительные задержки.Ну и что? на том конце сидит медленное устройство ввода-вывода под названием "человек". Собирайте мелкие транзакции в векторы по 10000--100000, но не формируйте вектор дольше 1/10 секунды, если у вас в 1/10 секунды проходит меньше 10000 транзакций. Тогда ценой лишних 1/10 секунды задержки вы можете уменьшить число обменов в кластере в эти самые 10000 раз. Или не собирайте их в векторы, собирайте просто в пакеты --- тоже будет совсем неплохо.
донкихотПо какому ключу нарезать справочники?По уникальному целочисленному, как подсказывает К.О.
донкихотденормализацию, чтобы каждый писал в "факты" что захочется, без обращения к справочнику для хотя бы минимальной проверки сразу Я не понимаю, чем денормализация может помешать валидации ввода, особенно если все данные или валидны или нет строго на момент ввода, и задним числом ничего не правится.
...
Рейтинг: 0 / 0
Плюсы против голого Си, холивар #9
    #37953292
донкихотПроясним ситуацпропущено...

Да, именно руками и делают. Абоненты Москвы вручную привязаны к одним серверам и базам, а какого Питера - к другим, и обе группы
друг про друга ничего не знают, физически и логически они вообще друг для друга - абоненты разных операторов. Не знал?
И почему же в банках так не делают, как считаешь?


Делают, просто в РФ крупных банков только один, остальным это просто не актуально - не те объемы данных.
Даже самый крупный пока справляется вертикальным масштабированием - тупо покупает более мощное железо.

У ОПСОСов проблемы с базами данных начались намного раньше и глобальнее - человек в среднем за сутки
делает порой по 10-20 звонков, но лишь один раз в день (и то не каждый) пользуется пластиковой картой.

Т.е. 100 млн транзакций какой Sun M8000 или p795 за сутки пережует легко (реально там сильно меньше, в районе 50-60 млн операций в сутки), а вот 2 млрд - уже врядли.

Ваш КО
...
Рейтинг: 0 / 0
Плюсы против голого Си, холивар #9
    #37953299
донкихот
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Проясним ситуацДелают, просто в РФ крупных банков только один, остальным это просто не актуально - не те объемы данных.
Например в каком иностранном банке так?
...
Рейтинг: 0 / 0
Плюсы против голого Си, холивар #9
    #37953311
Фотография iv_an_ru
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Проясним ситуацУ ОПСОСов проблемы с базами данных начались намного раньше и глобальнее - человек в среднем за сутки
делает порой по 10-20 звонков, но лишь один раз в день (и то не каждый) пользуется пластиковой картой.Там и по числу клиентов бывают различия. Скажем, у China Mobile 300000000 "живых" абонентов, у сбера столько бабушек никак не наберётся.
...
Рейтинг: 0 / 0
Плюсы против голого Си, холивар #9
    #37953315
донкихотПроясним ситуацДелают, просто в РФ крупных банков только один, остальным это просто не актуально - не те объемы данных.
Например в каком иностранном банке так?

В любом глобальном (международном).
...
Рейтинг: 0 / 0
Плюсы против голого Си, холивар #9
    #37953329
донкихот
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
iv_an_ruдонкихотТянуть данные с разных серверов для мелких транзакций это большие относительные задержки.Ну и что? на том конце сидит медленное устройство ввода-вывода под названием "человек". Собирайте мелкие транзакции в векторы по 10000--100000, но не формируйте вектор дольше 1/10 секунды, если у вас в 1/10 секунды проходит меньше 10000 транзакций. Тогда ценой лишних 1/10 секунды задержки вы можете уменьшить число обменов в кластере в эти самые 10000 раз. Или не собирайте их в векторы, собирайте просто в пакеты --- тоже будет совсем неплохо.
100мс это большие задержки. Маленькие это 10мкс.

iv_an_ruдонкихотденормализацию, чтобы каждый писал в "факты" что захочется, без обращения к справочнику для хотя бы минимальной проверки сразу Я не понимаю, чем денормализация может помешать валидации ввода, особенно если все данные или валидны или нет строго на момент ввода, и задним числом ничего не правится.
А на основании чего делать валидацию, не на основании ли данных из справочника филиалов?
...
Рейтинг: 0 / 0
Плюсы против голого Си, холивар #9
    #37953336
донкихот
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Проясним ситуацдонкихотпропущено...

Например в каком иностранном банке так?

В любом глобальном (международном).
Ну хоть одно название приведите в котором "именно руками и делают" шардинг?
...
Рейтинг: 0 / 0
Плюсы против голого Си, холивар #9
    #37953338
донкихот
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А на основании чего делать валидацию, не на основании ли данных из справочника филиалов?
...
Рейтинг: 0 / 0
Плюсы против голого Си, холивар #9
    #37953342
донкихотПроясним ситуацпропущено...


В любом глобальном (международном).
Ну хоть одно название приведите в котором "именно руками и делают" шардинг?


Что такое в твоем понимании "вручную"? Я тебя понимаю просто - сидит индус Рамеш Кутрапали, и на каждую входящую транзакцию делает привязку к серверу.

Я прав?

Нет, тогда поясни, в чем тебе там мерешится мерзкое и богопротивное слуху кодера любой среднести руки слово "вручную"?


Мне вообще кажется ты не понимаешь смысл слова шардинг.
...
Рейтинг: 0 / 0
Плюсы против голого Си, холивар #9
    #37953372
Фотография iv_an_ru
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
донкихот100мс это большие задержки. Маленькие это 10мкс.Хорошо, давайте сторгуемся на лишних 20 мс. Это меньше времени реакции экрана банкомата. Или хотелось бы узнать, какая задача может упереться именно в 10 мкс.

донкихотА на основании чего делать валидацию, не на основании ли данных из справочника филиалов?Ну и делайте. Оптимистично начинайте транзакцию, обновляйте всё в своё удовольствие, а тем временем те ноды, на которых лежат нужные куски справочников, выполнят валидацию и при необходимости обломят транзакцию. Что особенно приятно, карта юзера и терминал оказываются достаточно надёжными мьютексами сами по себе --- один чел одновременно не делает несколько транзакций в разных местах и несколько человек не дают несколько одновременных транзакций с одной кассы. Это не значит, что в базе лочить не надо --- надо, но lock contention будет радовать.
...
Рейтинг: 0 / 0
Плюсы против голого Си, холивар #9
    #37953381
донкихот
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Проясним ситуацдонкихотпропущено...

Ну хоть одно название приведите в котором "именно руками и делают" шардинг?


Что такое в твоем понимании "вручную"? Я тебя понимаю просто - сидит индус Рамеш Кутрапали, и на каждую входящую транзакцию делает привязку к серверу.

Я прав?

Нет, тогда поясни, в чем тебе там мерешится мерзкое и богопротивное слуху кодера любой среднести руки слово "вручную"?


Мне вообще кажется ты не понимаешь смысл слова шардинг.
У вас галлюцинации, вы уже забыли что сами писали и мне это приписываете.
Вот этот человек вам объяснит что значит: Проясним ситуацДа, именно руками и делают. Абоненты Москвы вручную привязаны к одним серверам и базам, ...
Если не знаете таких банков так и скажите, чего пыжитесь?
...
Рейтинг: 0 / 0
Плюсы против голого Си, холивар #9
    #37953389
донкихот
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
iv_an_ruдонкихот100мс это большие задержки. Маленькие это 10мкс.Хорошо, давайте сторгуемся на лишних 20 мс. Это меньше времени реакции экрана банкомата. Или хотелось бы узнать, какая задача может упереться именно в 10 мкс.
100мс, 10мкс, откуда взялись 20мс?
К сожалению с СУБД торговаться не выйдет.

iv_an_ruдонкихотА на основании чего делать валидацию, не на основании ли данных из справочника филиалов? Ну и делайте .
Если мы все равно используем справочники, то на кой нам денормализация?
...
Рейтинг: 0 / 0
Плюсы против голого Си, холивар #9
    #37953394
Фотография iv_an_ru
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
донкихотiv_an_ruпропущено...
Хорошо, давайте сторгуемся на лишних 20 мс. Это меньше времени реакции экрана банкомата. Или хотелось бы узнать, какая задача может упереться именно в 10 мкс.
100мс, 10мкс, откуда взялись 20мс?
К сожалению с СУБД торговаться не выйдет.Ну если вы считаете, что собирать запросы в вектор на протяжении 100мс долго, давайте собирать их на протяжении 20 мс. Торговаться в данном случае не надо ни с кем, надо просто спросить заказчика, какую максимальную латентность он готов терпеть за какие деньги.

донкихотЕсли мы все равно используем справочники, то на кой нам денормализация?Кроме валидации и записи новых операций, наверняка будет ещё какая-то активность, а то получается write-only memory из первоапрельского прайса. Вот для неё может и пригодиться "2.5-нормальная" форма.
...
Рейтинг: 0 / 0
Плюсы против голого Си, холивар #9
    #37953399
донкихот
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
iv_an_ruдонкихотпропущено...

100мс, 10мкс, откуда взялись 20мс?
К сожалению с СУБД торговаться не выйдет.Ну если вы считаете, что собирать запросы в вектор на протяжении 100мс долго, давайте собирать их на протяжении 20 мс. Торговаться в данном случае не надо ни с кем, надо просто спросить заказчика, какую максимальную латентность он готов терпеть за какие деньги.

донкихотЕсли мы все равно используем справочники, то на кой нам денормализация?Кроме валидации и записи новых операций, наверняка будет ещё какая-то активность , а то получается write-only memory из первоапрельского прайса. Вот для неё может и пригодиться "2.5-нормальная" форма.
Например какая активность?
...
Рейтинг: 0 / 0
Плюсы против голого Си, холивар #9
    #37953403
Фотография iv_an_ru
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
донкихот,

Ну не знаю, я ж не банкир. Какие-нибудь отчёты, выписки по счетам, в общем какие-то чтения из таблиц, и вполне возможно, что юзер захочет видеть внятные текстовые имена и прочие подробности вместо целочисленных идентификаторов и прочей абракадабры, выбранной на роль разнообразных связующих полей.
...
Рейтинг: 0 / 0
Плюсы против голого Си, холивар #9
    #37953412
донкихотЕсли не знаете таких банков так и скажите, чего пыжитесь?

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

Итак - прояснение понятия "вручную" будет, или спишем на приступы какие?
...
Рейтинг: 0 / 0
Плюсы против голого Си, холивар #9
    #37953475
донкихотПроясним ситуацДа, именно руками и делают. Абоненты Москвы вручную привязаны к одним серверам и базам, ...
Если не знаете таких банков так и скажите, чего пыжитесь?

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

Ну так вот - клиенты банков в массе своей также имеют приписанные отделения. А если не отделения, то как минимум деление по странам.
К примеру тот-же Альфа не обслужит тебя в "не твоем" отделении - у них до сих пор "привязка" (хотя может что-то изменилось).

Пример подойдет?

Про другие банки я без понятия, если честно, тем более западные какие-то - я там не работаю и я там не обслуживаюсь.
...
Рейтинг: 0 / 0
Плюсы против голого Си, холивар #9
    #37953491
донкихот
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Проясним ситуацдонкихотпропущено...

Если не знаете таких банков так и скажите, чего пыжитесь?

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

Ну так вот - клиенты банков в массе своей также имеют приписанные отделения. А если не отделения, то как минимум деление по странам.
К примеру тот-же Альфа не обслужит тебя в "не твоем" отделении - у них до сих пор "привязка" (хотя может что-то изменилось).

Пример подойдет?

Про другие банки я без понятия, если честно, тем более западные какие-то - я там не работаю и я там не обслуживаюсь.
То есть не знаем, но утверждаем, это относится только к банкам или ко всему что тут говорили?
Если не заметили, то речь идет про карточный процессинг, значит по карточке Альфа-банка нельзя снять деньги нигде кроме как в своём отделении?
...
Рейтинг: 0 / 0
Плюсы против голого Си, холивар #9
    #37953496
донкихот
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
iv_an_ruдонкихот,

Ну не знаю, я ж не банкир. Какие-нибудь отчёты, выписки по счетам, в общем какие-то чтения из таблиц, и вполне возможно, что юзер захочет видеть внятные текстовые имена и прочие подробности вместо целочисленных идентификаторов и прочей абракадабры, выбранной на роль разнообразных связующих полей.
Тогда да, вы во всем правы :)
...
Рейтинг: 0 / 0
Плюсы против голого Си, холивар #9
    #37953528
Фотография iv_an_ru
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
донкихотiv_an_ruдонкихот,

Ну не знаю, я ж не банкир. Какие-нибудь отчёты, выписки по счетам, в общем какие-то чтения из таблиц, и вполне возможно, что юзер захочет видеть внятные текстовые имена и прочие подробности вместо целочисленных идентификаторов и прочей абракадабры, выбранной на роль разнообразных связующих полей.
Тогда да, вы во всем правы :)Логика непонятна :) Но хорошо, что против разного секционирования разных копий таблицы возражений не последовало.
...
Рейтинг: 0 / 0
Плюсы против голого Си, холивар #9
    #37953547
донкихот
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
iv_an_ruдонкихотпропущено...

Тогда да, вы во всем правы :)Логика непонятна :) Но хорошо, что против разного секционирования разных копий таблицы возражений не последовало.
Как можно возражать если не написано по каким диапазонам секционируются эти разные копии, исходя из чего эти диапазоны выбираются и собственно кто всем этим занимается? :)
...
Рейтинг: 0 / 0
Плюсы против голого Си, холивар #9
    #37953550
донкихотТо есть не знаем, но утверждаем, это относится только к банкам или ко всему что тут говорили?
Я тебе привел пример (пример, внимание - пример, еще раз повторить? пример!) логического шардинга на примере опсосов - деление по телефонному региональному коду. Как именно устроенно в том или ином банке - нужно идти в тот или иной банк, и там выяснять.

донкихотЕсли не заметили, то речь идет про карточный процессинг, значит по карточке Альфа-банка нельзя снять деньги нигде кроме как в своём отделении?

Речь не идет про карточный процессинг, речь идет о шардировании и примерах его применения, в т.ч. о потенциально возможных применениях.

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

В с другой стороны я имел опыт работы в крупном банке соседней страны, и могу сказать смело - каждое отделение - это логически, физически и юридически независимое юрлицо, с отдельным МФО, балансом, бухгалтерией и прочей атрибутикой.
У них свои базы данных, свои локальные серверы (не на все виды услуг, естественно), даже банкоматы привязаны к конкретному
отделению - числятся на их отдельном балансе и т.п.

Т.е. деление банка на "подбанки" у них есть, и вовсю применяется на практике. Дальше см. выше про "ничто не мешает"

Что еще разжевать?
...
Рейтинг: 0 / 0
Плюсы против голого Си, холивар #9
    #37953554
Фотография iv_an_ru
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
донкихотКак можно возражать если не написано по каким диапазонам секционируются эти разные копии, исходя из чего эти диапазоны выбираются и собственно кто всем этим занимается? :)Поскольку операции по разным катрам и в разных кассах не связаны друг с другом никак, выбирать придётся исключительно из профилей _читающих_ запросов, а не активность писателей.
...
Рейтинг: 0 / 0
Плюсы против голого Си, холивар #9
    #37953575
донкихот
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
iv_an_ruдонкихотКак можно возражать если не написано по каким диапазонам секционируются эти разные копии, исходя из чего эти диапазоны выбираются и собственно кто всем этим занимается? :)Поскольку операции по разным катрам и в разных кассах не связаны друг с другом никак, выбирать придётся исключительно из профилей _читающих_ запросов, а не активность писателей.
Т.е. общая логика, сначала создаются несколько копий полностью идентичных инстансов, затем средствами MPP-СУБД каждый из них ещё шардится на несколько инстансов, причем в каждой копии по своему ключу?
И в чем профит?
...
Рейтинг: 0 / 0
Плюсы против голого Си, холивар #9
    #37953601
Фотография iv_an_ru
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
донкихотiv_an_ruпропущено...
Поскольку операции по разным катрам и в разных кассах не связаны друг с другом никак, выбирать придётся исключительно из профилей _читающих_ запросов, а не активность писателей.
Т.е. общая логика, сначала создаются несколько копий полностью идентичных инстансов, затем средствами MPP-СУБД каждый из них ещё шардится на несколько инстансов, причем в каждой копии по своему ключу?
И в чем профит?Не так. Создаётся один кластер, с общей схемой, и разумеется с избыточностью. Но при этом если одна таблица ссылается на несколько справочников, секционированных по разным ключам, то копии её индексов размещаются на одних ящиках с этими справочниками, и каждая копия секционируется в соответствием с секционированием "своего" справочника. Оптимизатор знает, какие копии могут выполнить какие джойны локально, без лишнего трафика в кластере. Вот и всё.
...
Рейтинг: 0 / 0
Плюсы против голого Си, холивар #9
    #37954027
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
On 09/11/2012 06:20 PM, Проясним ситуац wrote:

> Все кто хотит реально холивара, идите в аналогичтный топик на RSDN.
> Тынц на топик где?

http://rsdn.ru/forum/flame.comp/4888289.flat.aspx
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Плюсы против голого Си, холивар #9
    #37954070
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
> А на основании чего делать валидацию, не на основании ли данных из справочника
> филиалов?

А какая вообще разница, ты делаешь эту валидацию на нормализованной структуре
или на денормализованной ? Ведь суть валидации -- проверить, есть ли это
значение в списке (словаре). Тут что нормализованная структура, что
денормализованная -- всё едино.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Плюсы против голого Си, холивар #9
    #37954089
MasterZivOn 09/11/2012 06:20 PM, Проясним ситуац wrote:

> Все кто хотит реально холивара, идите в аналогичтный топик на RSDN.
> Тынц на топик где?

http://rsdn.ru/forum/flame.comp/4888289.flat.aspx


Самая эээ... "умная" мысль на первой странице.

авторАга, сказочки всё это. Начнём например с постоянной необходимости понимать
конструкцию "ссылка (в виде указателя) на созданных в хипе объект, передаваемая
по ссылке, с возможностью изменения ссылки".
Это конечно постижимо, не rocket science, но всё же -- если на каждом шагу,
очень путает.

Прямо сборище тех самых substandart coders, с выломанным в голове блоком понимания указателей и ссылок.
Эдакая Специальная Олимпиада.

Читай сам такое, дорогой, набирайся опыта и откровений, ага.
...
Рейтинг: 0 / 0
Плюсы против голого Си, холивар #9
    #37954117
iv_an_ru Но при этом если одна таблица ссылается на несколько справочников, секционированных по разным ключам, то копии её индексов размещаются на одних ящиках с этими справочниками, и каждая копия секционируется в соответствием с секционированием "своего" справочника. Оптимизатор знает, какие копии могут выполнить какие джойны локально, без лишнего трафика в кластере. Вот и всё.

Т.е. hash joinы остались у вас за гранью понимания?

Забавно... а вроде эра nested-loop аka slow-by-slow закончилась уже в 90-х...
...
Рейтинг: 0 / 0
Плюсы против голого Си, холивар #9
    #37954138
Фотография iv_an_ru
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Проясним ситуацiv_an_ru Но при этом если одна таблица ссылается на несколько справочников, секционированных по разным ключам, то копии её индексов размещаются на одних ящиках с этими справочниками, и каждая копия секционируется в соответствием с секционированием "своего" справочника. Оптимизатор знает, какие копии могут выполнить какие джойны локально, без лишнего трафика в кластере. Вот и всё.Т.е. hash joinы остались у вас за гранью понимания?Конкретный тип джойнов тут вообще не важен, важна возможность выполнить на одной машине как можно более длинные куски плана исполнения.
...
Рейтинг: 0 / 0
Плюсы против голого Си, холивар #9
    #37954536
Фотография vromanov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
У опрератора может быть например так. В каждом регионе по сервреру (кластеру). При перезда абонента из региона в регион его данные мигрируют вместе с ним
...
Рейтинг: 0 / 0
Плюсы против голого Си, холивар #9
    #37956817
донкихот
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
iv_an_ruдонкихотпропущено...

Т.е. общая логика, сначала создаются несколько копий полностью идентичных инстансов, затем средствами MPP-СУБД каждый из них ещё шардится на несколько инстансов, причем в каждой копии по своему ключу?
И в чем профит?Не так. Создаётся один кластер, с общей схемой, и разумеется с избыточностью. Но при этом если одна таблица ссылается на несколько справочников, секционированных по разным ключам, то копии её индексов размещаются на одних ящиках с этими справочниками, и каждая копия секционируется в соответствием с секционированием "своего" справочника. Оптимизатор знает, какие копии могут выполнить какие джойны локально, без лишнего трафика в кластере. Вот и всё.
В нашем обсуждаемом случае после каждой операции с карты будет происходить проверка и по надобности изменение индекса на всех справочниках на которые ссылается таблица "фактов" операций по карте. Это минус.
А есть ли плюс, обратиться к справочнику карт и через IOS по индексу получить данные по всем остальным справочникам, в том числе по справочнику популярных точек съема денег по этой карте?
Т.к. реплицируется только индекс таблицы "фактов", то придется в него писать все необходимые в будущем данные (денормализовывать её как советует "Проясним ситуац").
...
Рейтинг: 0 / 0
Плюсы против голого Си, холивар #9
    #37956967
Фотография iv_an_ru
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
донкихотiv_an_ruпропущено...
Не так. Создаётся один кластер, с общей схемой, и разумеется с избыточностью. Но при этом если одна таблица ссылается на несколько справочников, секционированных по разным ключам, то копии её индексов размещаются на одних ящиках с этими справочниками, и каждая копия секционируется в соответствием с секционированием "своего" справочника. Оптимизатор знает, какие копии могут выполнить какие джойны локально, без лишнего трафика в кластере. Вот и всё.
В нашем обсуждаемом случае после каждой операции с карты будет происходить проверка и по надобности изменение индекса на всех справочниках на которые ссылается таблица "фактов" операций по карте. Это минус.
А есть ли плюс, обратиться к справочнику карт и через IOS по индексу получить данные по всем остальным справочникам, в том числе по справочнику популярных точек съема денег по этой карте?
Т.к. реплицируется только индекс таблицы "фактов", то придется в него писать все необходимые в будущем данные (денормализовывать её как советует "Проясним ситуац").1. Зачем после операции по карте менять индекс справочника? 2. Что такое IOS? 3. Зачем при записи операции получать данные "по всем остальным справочникам" через справочник карт? С клиента пришли готовые идентификаторы не только карты, но и кассы/банкомата, их можно и нужно использовать по назначению.
...
Рейтинг: 0 / 0
Плюсы против голого Си, холивар #9
    #37958552
донкихот
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
iv_an_ruдонкихотпропущено...

В нашем обсуждаемом случае после каждой операции с карты будет происходить проверка и по надобности изменение индекса на всех справочниках на которые ссылается таблица "фактов" операций по карте. Это минус.
А есть ли плюс, обратиться к справочнику карт и через IOS по индексу получить данные по всем остальным справочникам, в том числе по справочнику популярных точек съема денег по этой карте?
Т.к. реплицируется только индекс таблицы "фактов", то придется в него писать все необходимые в будущем данные (денормализовывать её как советует "Проясним ситуац").1. Зачем после операции по карте менять индекс справочника? 2. Что такое IOS? 3. Зачем при записи операции получать данные "по всем остальным справочникам" через справочник карт? С клиента пришли готовые идентификаторы не только карты, но и кассы/банкомата, их можно и нужно использовать по назначению.
Тогда не понимаю, как по вашему такое размещение индексов поможет ускорить обращение к нескольким гигантским справочникам не ссылающимся друг на друга, но на которые может ссылаться заполняемая таблица "фактов" (ссылаться в абсолютно любых комбинациях)?

И у такого способа размещения индексов есть общепринятое название и его классическое описание?
...
Рейтинг: 0 / 0
Плюсы против голого Си, холивар #9
    #37958587
Фотография iv_an_ru
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
донкихотiv_an_ruпропущено...
1. Зачем после операции по карте менять индекс справочника? 2. Что такое IOS? 3. Зачем при записи операции получать данные "по всем остальным справочникам" через справочник карт? С клиента пришли готовые идентификаторы не только карты, но и кассы/банкомата, их можно и нужно использовать по назначению.
Тогда не понимаю, как по вашему такое размещение индексов поможет ускорить обращение к нескольким гигантским справочникам не ссылающимся друг на друга, но на которые может ссылаться заполняемая таблица "фактов" (ссылаться в абсолютно любых комбинациях)?Хочется вам выполнить транзакцию "содрать 100 рублей с карточки 12345 в пользу хозяина кассы 67890". Нода, получившая запрос, ничинает транзакцию и рассылает по кластеру сообщения

--- одной из тех нод, на которых может лежать справочная запись про карточку 12345:
"проверить, что такая карточка есть и что с ней всё в порядке; если непорядок то обламывать транзакцию иначе записать операцию в свою копию сегмента таблицы операций и отправить сообщения о вычитании 100 рублей каждой из нод, хранящих данные о состоянии счёта кардхолдера."

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

--- одной из тех нод, на которых может лежать справочная запись про кассу 67890:
"проверить, что такая касса есть и что с ней всё в порядке; если непорядок то обламывать транзакцию иначе записать операцию в свою копию сегмента таблицы операций и отправить сообщения о добавлении 100 рублей каждой из нод, хранящих данные о состоянии лицевого счёта владельца кассы."

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

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

донкихотИ у такого способа размещения индексов есть общепринятое название и его классическое описание?Понятия не имею. Это же азбука кластеризации. Где взять классическое описание буквы "Ж"?
...
Рейтинг: 0 / 0
Плюсы против голого Си, холивар #9
    #37958620
донкихот
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
iv_an_ruИ всё. Обратите внимание, что ноды, на которых лежат куски справочников карточек и касс, не отправили ни байта данных из этих справочников ни друг другу, ни ноде, начавшей транзакцию. А транзакция эта идет не как двухфазная с подтверждением от этих нод об успешности коммита на всех синхронных репликах?

iv_an_ruдонкихотпропущено...

Тогда не понимаю, как по вашему такое размещение индексов поможет ускорить обращение к нескольким гигантским справочникам не ссылающимся друг на друга, но на которые может ссылаться заполняемая таблица "фактов" (ссылаться в абсолютно любых комбинациях)?Хочется вам выполнить транзакцию "содрать 100 рублей с карточки 12345 в пользу хозяина кассы 67890". Нода, получившая запрос, ничинает транзакцию и рассылает по кластеру сообщения

1. --- одной из тех нод, на которых может лежать справочная запись про карточку 12345:
"проверить, что такая карточка есть и что с ней всё в порядке; если непорядок то обламывать транзакцию иначе записать операцию в свою копию сегмента таблицы операций и отправить сообщения о вычитании 100 рублей каждой из нод, хранящих данные о состоянии счёта кардхолдера."

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

3. --- одной из тех нод, на которых может лежать справочная запись про кассу 67890:
"проверить, что такая касса есть и что с ней всё в порядке; если непорядок то обламывать транзакцию иначе записать операцию в свою копию сегмента таблицы операций и отправить сообщения о добавлении 100 рублей каждой из нод, хранящих данные о состоянии лицевого счёта владельца кассы."

4. --- всем остальным нодам, на которых может лежать справочная запись про кассу 67890:
"записать операцию в свою копию сегмента таблицы операций."
Я пронумеровал описания ваших действий от 1 до 4.
В каких пунктах идет обращение на чтение к этим индексам хранящим копии других таблиц расположенных на других нодах?
...
Рейтинг: 0 / 0
Плюсы против голого Си, холивар #9
    #37958684
Фотография iv_an_ru
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
донкихотiv_an_ruИ всё. Обратите внимание, что ноды, на которых лежат куски справочников карточек и касс, не отправили ни байта данных из этих справочников ни друг другу, ни ноде, начавшей транзакцию. А транзакция эта идет не как двухфазная с подтверждением от этих нод об успешности коммита на всех синхронных репликах?Подтверждения собираются, само собой, а будет транзакция двухфазной или нет зависит от того, как в кластере реализован журнал транзакций --- делается одна "полная" запись на ноде, к которой прицепился клиент, или каждая нода записывает "свои" изменения.
...
Рейтинг: 0 / 0
Плюсы против голого Си, холивар #9
    #37958688
Фотография iv_an_ru
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
донкихотiv_an_ruпропущено...
Хочется вам выполнить транзакцию "содрать 100 рублей с карточки 12345 в пользу хозяина кассы 67890". Нода, получившая запрос, ничинает транзакцию и рассылает по кластеру сообщения

1. --- одной из тех нод, на которых может лежать справочная запись про карточку 12345:
"проверить, что такая карточка есть и что с ней всё в порядке; если непорядок то обламывать транзакцию иначе записать операцию в свою копию сегмента таблицы операций и отправить сообщения о вычитании 100 рублей каждой из нод, хранящих данные о состоянии счёта кардхолдера."

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

3. --- одной из тех нод, на которых может лежать справочная запись про кассу 67890:
"проверить, что такая касса есть и что с ней всё в порядке; если непорядок то обламывать транзакцию иначе записать операцию в свою копию сегмента таблицы операций и отправить сообщения о добавлении 100 рублей каждой из нод, хранящих данные о состоянии лицевого счёта владельца кассы."

4. --- всем остальным нодам, на которых может лежать справочная запись про кассу 67890:
"записать операцию в свою копию сегмента таблицы операций."
Я пронумеровал описания ваших действий от 1 до 4.
В каких пунктах идет обращение на чтение к этим индексам хранящим копии других таблиц расположенных на других нодах?Ни в каких.

В п.1 и п.2. используются только копии таблицы операций, сегментированные по номеру карточки. Если на ноде может оказаться справочная запись карточки 12345 и не может --- карточки 54321, то на неё будут складываться операции по карточке 12345 и не будут --- по карточке 54321. Потому что если уж (12345 & 0xfff000) % число_сегментов дало номер ноды, то оно даст тот же номер ноды и если 12345 --- PK справочника, и если 12345 --- значение поля в таблице операций.

Так же дело обстоит и с п.п.3,4 --- используются только копии таблицы операций, сегментированные по номеру кассы.
...
Рейтинг: 0 / 0
Плюсы против голого Си, холивар #9
    #37959061
донкихот
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
iv_an_ruИ всё. Обратите внимание, что ноды, на которых лежат куски справочников карточек и касс, не отправили ни байта данных из этих справочников ни друг другу, ни ноде, начавшей транзакцию.

Хочется вам выполнить транзакцию "содрать 100 рублей с карточки 12345 в пользу хозяина кассы 67890". Нода, получившая запрос, ничинает транзакцию и рассылает по кластеру сообщения

А если бы не было индексов хранящих копии других таблиц расположенных на других нодах, получится как ниже или как?
(то что добавил выделил жирным)

Т.е. есть несколько серверов с расшарденным справочником касс по их номеру, несколько серверов со справочником карт по их номеру, и несколько серверов с операциями. Плюс ещё у всех у них есть по сколько-то синхронных копий.

1. --- одной из тех нод, на которых может лежать справочная запись про карточку 12345:
"проверить, что такая карточка есть и что с ней всё в порядке; если непорядок то обламывать транзакцию иначе записать операцию в свою копию сегмента таблицы операций и отправить сообщения о вычитании 100 рублей каждой из нод, хранящих данные о состоянии счёта кардхолдера."

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

3. --- одной из тех нод, на которых может лежать справочная запись про кассу 67890:
"проверить, что такая касса есть и что с ней всё в порядке; если непорядок то обламывать транзакцию иначе записать операцию в свою копию сегмента таблицы операций и отправить сообщения о добавлении 100 рублей каждой из нод, хранящих данные о состоянии лицевого счёта владельца кассы."

4. --- всем остальным нодам, на которых может лежать справочная запись про кассу 67890:
"записать операцию в свою копию сегмента таблицы операций."
...
Рейтинг: 0 / 0
Плюсы против голого Си, холивар #9
    #37959063
донкихот
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Допустим шардить операции можем по дате, плюс по номеру карты или по номеру кассы, или по всему сразу.
...
Рейтинг: 0 / 0
Плюсы против голого Си, холивар #9
    #37959080
Фотография iv_an_ru
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
донкихотА если бы не было индексов хранящих копии других таблиц расположенных на других нодах, получится как ниже или как?
(то что добавил выделил жирным)Да, получится как ниже. И в этом случае любой запрос, требующий джойна операций с картами или джойна операций с кассами, будет грузить сеть.
...
Рейтинг: 0 / 0
Плюсы против голого Си, холивар #9
    #37959081
Фотография iv_an_ru
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
донкихотДопустим шардить операции можем по датеТипа, сегодня понедельник, первая нода работает за всех, завтра во вторник она будет отдыхать, потому что вся нагрузка упадёт на шард на второй ноде :)

Как ни забавно, такое иногда используется для тех АСУ, где требуется дорогостоящий (по части выборок и вычислений) разбор действий оперативного персонала. Шардят по сменам. Пока на одну ноду валится вся телеметрия с какой-нибудь фармацевтической пробирки, вторая нода используется для аналитики по предыдущей смене, игр "что, если", наказания невиновных и выдачи в QA рекомендаций, что в таблетках прошлой смены стоит проверить особенно тщательно.
...
Рейтинг: 0 / 0
Плюсы против голого Си, холивар #9
    #37959267
донкихот
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
iv_an_ruдонкихотДопустим шардить операции можем по датеТипа, сегодня понедельник, первая нода работает за всех, завтра во вторник она будет отдыхать, потому что вся нагрузка упадёт на шард на второй ноде :)

Как ни забавно, такое иногда используется для тех АСУ, где требуется дорогостоящий (по части выборок и вычислений) разбор действий оперативного персонала. Шардят по сменам. Пока на одну ноду валится вся телеметрия с какой-нибудь фармацевтической пробирки, вторая нода используется для аналитики по предыдущей смене, игр "что, если", наказания невиновных и выдачи в QA рекомендаций, что в таблетках прошлой смены стоит проверить особенно тщательно.
Да, именно так делается во многих сферах. Одна нода под текущие сутки и преимущественно под запись, с маленькой скоростной(IOPs) СХД. Вторая нода под все остальные, преимущественно для аналитики, т.е. для последовательного чтения, с хорошим сжатием, дисками 3.5 и т.д., а в случае телеметрии ещё и предварительно агрегированные.
...
Рейтинг: 0 / 0
Плюсы против голого Си, холивар #9
    #37959271
донкихот
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
iv_an_ruдонкихотА если бы не было индексов хранящих копии других таблиц расположенных на других нодах, получится как ниже или как?
(то что добавил выделил жирным)Да, получится как ниже. И в этом случае любой запрос, требующий джойна операций с картами или джойна операций с кассами, будет грузить сеть.
Да, вот с этого надо было начать :)
А то думалось, что вы имели ввиду, что это как-то ускоряет обсуждаемые проверки справочников и вставку в таблицу операций. Но без этих индексов проверки справочников и вставка в операции будут чуть быстрее.
...
Рейтинг: 0 / 0
Плюсы против голого Си, холивар #9
    #37959280
донкихот
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
iv_an_ruдонкихотпропущено...
А транзакция эта идет не как двухфазная с подтверждением от этих нод об успешности коммита на всех синхронных репликах? Подтверждения собираются, само собой , а будет транзакция двухфазной или нет зависит от того, как в кластере реализован журнал транзакций --- делается одна "полная" запись на ноде, к которой прицепился клиент, или каждая нода записывает "свои" изменения.
Не однозначно понимаемые предложения.
iv_an_ruИ всё. Обратите внимание, что ноды, на которых лежат куски справочников карточек и касс, не отправили ни байта данных из этих справочников ни друг другу, ни ноде, начавшей транзакцию .
Положительный или отрицательный ответ все-таки они должны вернуть.

Насчет двухфазной транзакции, имеете ввиду выбор одного из двух:
1. нода пишет в свой журнал транзакций все изменения из присланного ей запроса
2. нода пишет в свой журнал транзакций изменения своего сегмента данных
...
Рейтинг: 0 / 0
Плюсы против голого Си, холивар #9
    #37959299
Фотография iv_an_ru
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
донкихотНе однозначно понимаемые предложения.
iv_an_ruИ всё. Обратите внимание, что ноды, на которых лежат куски справочников карточек и касс, не отправили ни байта данных из этих справочников ни друг другу, ни ноде, начавшей транзакцию .
Положительный или отрицательный ответ все-таки они должны вернуть.
Положительный или отриуательный ответ во-первых не является даными из справочников и во-вторых это в 8 раз меньше байта :P
...
Рейтинг: 0 / 0
Плюсы против голого Си, холивар #9
    #37959536
донкихот
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
iv_an_ruдонкихотНе однозначно понимаемые предложения.
пропущено...

Положительный или отрицательный ответ все-таки они должны вернуть.
Положительный или отриуательный ответ во-первых не является даными из справочников и во-вторых это в 8 раз меньше байта :P
задержка будет одинакова :)
...
Рейтинг: 0 / 0
Плюсы против голого Си, холивар #9
    #37959627
ДохтаР
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
донкихотДопустим шардить операции можем по дате, плюс по номеру карты или по номеру кассы, или по всему сразу.

Ога.....

К одному счету может быть привязано несколько карт разных классов и плалежных систем.
На картах и счетах могут стоять собственные лимиты.
Карты в определенных группах терминалов могут участовать во всевозможных программах лояльности.
Банкоматы могут поздравлять владельца карты с днем рождения или напиминать
что у него просрочка по ипотеке.
итд итп
...
Рейтинг: 0 / 0
Плюсы против голого Си, холивар #9
    #37959644
донкихот
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ДохтаРдонкихотДопустим шардить операции можем по дате, плюс по номеру карты или по номеру кассы, или по всему сразу.

Ога.....

К одному счету может быть привязано несколько карт разных классов и плалежных систем.
На картах и счетах могут стоять собственные лимиты.
Карты в определенных группах терминалов могут участовать во всевозможных программах лояльности.
Банкоматы могут поздравлять владельца карты с днем рождения или напиминать
что у него просрочка по ипотеке.
итд итп
Это все понятно :)
Мы упростили до 3х таблиц, что бы понять суть высказанных предложений. Иначе и к 80й странице не разобрались кто что имел ввиду.
...
Рейтинг: 0 / 0
Плюсы против голого Си, холивар #9
    #37959880
ДохтаР
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
донкихотДохтаРпропущено...


Ога.....

К одному счету может быть привязано несколько карт разных классов и плалежных систем.
На картах и счетах могут стоять собственные лимиты.
Карты в определенных группах терминалов могут участовать во всевозможных программах лояльности.
Банкоматы могут поздравлять владельца карты с днем рождения или напиминать
что у него просрочка по ипотеке.
итд итп
Это все понятно :)
Мы упростили до 3х таблиц, что бы понять суть высказанных предложений. Иначе и к 80й странице не разобрались кто что имел ввиду.


Похоже забыли про самую главную,
и наверное самую интересную в контексте обсуждаемого вопроса,
карта маршрутизации называется.
...
Рейтинг: 0 / 0
Плюсы против голого Си, холивар #9
    #37960406
донкихот
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ДохтаРдонкихотпропущено...

Это все понятно :)
Мы упростили до 3х таблиц, что бы понять суть высказанных предложений. Иначе и к 80й странице не разобрались кто что имел ввиду.


Похоже забыли про самую главную,
и наверное самую интересную в контексте обсуждаемого вопроса,
карта маршрутизации называется.
А как бы вы решили её использования в случае шардинга?
...
Рейтинг: 0 / 0
Плюсы против голого Си, холивар #9
    #37960650
ДохтаР
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
донкихотДохтаРпропущено...



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

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

Я сторонник виртуализации вычислительных мощьностей внутри одной большой коробки.
И перемещения ресурсов ( процессоров и памяти) нуждающимся ОС и приложению
в зависимости от текущей бизнес нагрузки и приоритетов.
...
Рейтинг: 0 / 0
Плюсы против голого Си, холивар #9
    #37960865
донкихот
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ДохтаРдонкихотпропущено...

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

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

Я сторонник виртуализации вычислительных мощьностей внутри одной большой коробки.
И перемещения ресурсов ( процессоров и памяти) нуждающимся ОС и приложению
в зависимости от текущей бизнес нагрузки и приоритетов.
Но цена большой коробки растет нелинейно с ростом её величины. Лицензий кстати тоже. Стоимость Oracle SE ONE на 64 ядра (4 сервера по 2x8 ядер), будет раз в 30 ниже чем стоимость Oracle EE на тоже количество процессоров и ядер в одном сервере. А с OracleRAC разница раз в 50.

Или уже есть дешевые программные способы создания низколатентного виртуального NUMA-серверов из множества реальных серверов с использованием RDMA(Infiniband) у VMWare или MS Hyper-V?
...
Рейтинг: 0 / 0
Плюсы против голого Си, холивар #9
    #37960875
Фотография iv_an_ru
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ДохтаРя противник применения шардинга, забивания кувалдой алгоритма распределения нагрузки в архитектуру приложения .Прописать в конец "create index" что-то вроде "partition (card_id int (0hexFFFFF000))" теперь называется "забивать кувалдой"? А вообще писать какой-то там "create index" ещё не называется "забивать кувалдой"?

ДохтаРЯ сторонник виртуализации вычислительных мощьностей внутри одной большой коробки. И перемещения ресурсов ( процессоров и памяти) нуждающимся ОС и приложению в зависимости от текущей бизнес нагрузки и приоритетов.Это хорошо. Пока эта мода сохраняется, я лично буду получать выше рынка, а "моя" контора --- обеспечивать мне спокойную работу.
...
Рейтинг: 0 / 0
Плюсы против голого Си, холивар #9
    #37960919
Фотография iv_an_ru
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
донкихотИли уже есть дешевые программные способы создания низколатентного виртуального NUMA-серверов из множества реальных серверов с использованием RDMA(Infiniband) у VMWare или MS Hyper-V?Уже есть дешевые программные способы превысить скорость света?

Грейс Хоппер, кажется, должна была не просто показывать моток проволоки, а этой проволокой пороть слушателей.
...
Рейтинг: 0 / 0
Плюсы против голого Си, холивар #9
    #37960949
ДохтаР
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
iv_an_ruДохтаРя противник применения шардинга, забивания кувалдой алгоритма распределения нагрузки в архитектуру приложения .Прописать в конец "create index" что-то вроде "partition (card_id int (0hexFFFFF000))" теперь называется "забивать кувалдой"? А вообще писать какой-то там "create index" ещё не называется "забивать кувалдой"?

в create index нет,
а в create unique index - да, я бы назвал забивать кувалдой :).




iv_an_ruДохтаРЯ сторонник виртуализации вычислительных мощьностей внутри одной большой коробки. И перемещения ресурсов ( процессоров и памяти) нуждающимся ОС и приложению в зависимости от текущей бизнес нагрузки и приоритетов.Это хорошо. Пока эта мода сохраняется, я лично буду получать выше рынка, а "моя" контора --- обеспечивать мне спокойную работу.

Видите как вам повезло ,
мне не повезло, за идеи съэкономить деньги на железе
и софте мне выше рынка не платят.
...
Рейтинг: 0 / 0
Плюсы против голого Си, холивар #9
    #37961030
ДохтаР
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
донкихотДохтаРпропущено...


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

Я сторонник виртуализации вычислительных мощьностей внутри одной большой коробки.
И перемещения ресурсов ( процессоров и памяти) нуждающимся ОС и приложению
в зависимости от текущей бизнес нагрузки и приоритетов.
Но цена большой коробки растет нелинейно с ростом её величины. Лицензий кстати тоже. Стоимость Oracle SE ONE на 64 ядра (4 сервера по 2x8 ядер), будет раз в 30 ниже чем стоимость Oracle EE на тоже количество процессоров и ядер в одном сервере. А с OracleRAC разница раз в 50.

Это больше бизнесовый вопрос, чем технический.
У велосипеда выше вероятность выстрелить реализацией рисков по репутации бизнеса.
Тот кто платит деньги , то и решает как быть с рисками.

донкихотИли уже есть дешевые программные способы создания низколатентного виртуального NUMA-серверов из множества реальных серверов с использованием RDMA(Infiniband) у VMWare или MS Hyper-V?

Вы верите, что можно одновременно усидеть на трех стульях ( выделенном ).
ИМХО С вероятностью чуть менее 100% у вас этого не получится :)
...
Рейтинг: 0 / 0
Плюсы против голого Си, холивар #9
    #37961034
донкихот
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
iv_an_ruдонкихотИли уже есть дешевые программные способы создания низколатентного виртуального NUMA-серверов из множества реальных серверов с использованием RDMA(Infiniband) у VMWare или MS Hyper-V?Уже есть дешевые программные способы превысить скорость света?

Грейс Хоппер, кажется, должна была не просто показывать моток проволоки, а этой проволокой пороть слушателей.
Ну вы сравнили хрен с пальцем.
Есть программный способ создания низколатентного виртуального NUMA DBMS-сервера из множества реальных серверов с использованием RDMA(Infiniband) - DB2 Purescale. Есть высоколатентный - OracleRAC. Но все они дорогие.
Вот вы как большой специалист по кластерным СУБД знаете какие задержки у QPI (CPU2CPU), HyperTransport и Infiniband? И какие задержки в частности программных решений: DB2 Purescale и OracleRAC при межнодовом обмене?

И кто такая грейс, о которой вы жалете, что она вас не отпорола? :)
...
Рейтинг: 0 / 0
Плюсы против голого Си, холивар #9
    #37961041
донкихот
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ДохтаРдонкихотИли уже есть дешевые программные способы создания низколатентного виртуального NUMA-серверов из множества реальных серверов с использованием RDMA(Infiniband) у VMWare или MS Hyper-V?

Вы верите, что можно одновременно усидеть на трех стульях ( выделенном ).
ИМХО С вероятностью чуть менее 100% у вас этого не получится :)
Это я у вас спрашивал :)

Т.к. пока такого нет, а есть дорогой OracleRAC с большими задержками и сверхдорогие большие ящики, то можно быть каким-угодно сторонником правильных технических решений, но "бизнесовый вопрос" будет здесь определяющим.
...
Рейтинг: 0 / 0
Плюсы против голого Си, холивар #9
    #37961059
Фотография iv_an_ru
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
донкихотИ кто такая грейс, о которой вы жалете, что она вас не отпорола? :)Я жалею, что она не отпорола всех любителей помечтать про низколатентные кластеры.

P.S. Я понимаю, что мировая история вышла из моды, но не знать хотя бы историю своей не очень древней специальности --- странно. Ладно хоть Гугл знает .
...
Рейтинг: 0 / 0
Плюсы против голого Си, холивар #9
    #37961072
ДохтаР
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
донкихотiv_an_ruпропущено...
Уже есть дешевые программные способы превысить скорость света?

Грейс Хоппер, кажется, должна была не просто показывать моток проволоки, а этой проволокой пороть слушателей.
Ну вы сравнили хрен с пальцем.
Есть программный способ создания низколатентного виртуального NUMA DBMS-сервера из множества реальных серверов с использованием RDMA(Infiniband) - DB2 Purescale. Есть высоколатентный - OracleRAC.
Но все они дорогие.


Это Рак высоколатентный ? кто вам такое сказал ?
Я вас умоялю :)


донкихотВот вы как большой специалист по кластерным СУБД знаете какие задержки у QPI (CPU2CPU),

В профильном форуме один из ключевых моментов достаточно гарячо обсуждался с нашим с Иваном участием .



донкихотHyperTransport и Infiniband? И какие задержки в частности программных решений: DB2 Purescale и OracleRAC при межнодовом обмене?


Можете на пальцах прикинуть разницу порядков в производительности по сихронизации выполения out of order на процессоре с синхронизациями поверх любого транспорта через устройство ввода вывода.
...
Рейтинг: 0 / 0
Плюсы против голого Си, холивар #9
    #37961078
ДохтаР
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
донкихотДохтаРпропущено...


Вы верите, что можно одновременно усидеть на трех стульях ( выделенном ).
ИМХО С вероятностью чуть менее 100% у вас этого не получится :)
Это я у вас спрашивал :)

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


Я вроде говорил , что под требования латентности , масштабируемости
и возможностей по максимальной утилизации ресурсов выбираю ( аргументирую пред начальством ) большие дорогие ящики.
...
Рейтинг: 0 / 0
Плюсы против голого Си, холивар #9
    #37961096
донкихот
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
iv_an_ruдонкихотИ кто такая грейс, о которой вы жалете, что она вас не отпорола? :)Я жалею, что она не отпорола всех любителей помечтать про низколатентные кластеры.

P.S. Я понимаю, что мировая история вышла из моды, но не знать хотя бы историю своей не очень древней специальности --- странно. Ладно хоть Гугл знает .
Это все равно, что текущие исследования строить основываясь только на высказываниях Пифагора. Открою один секрет, ещё до скорости света формула S=V*t уже не верна :)
Пока вы возводите в культ личности людей из каменного века в IT и предлагаете iv_an_ruХорошо, давайте сторгуемся на лишних 20 мс, другие уже используют DB2 Purescale с задержками в 10-20мкс, что в 1000 раз меньше.

Это конечно больше, чем в большом ящике, но сюда укладываются подавляющее большинство задач, в отличие от 20мс.
...
Рейтинг: 0 / 0
Плюсы против голого Си, холивар #9
    #37961108
донкихот
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ДохтаРдонкихотпропущено...

Ну вы сравнили хрен с пальцем.
Есть программный способ создания низколатентного виртуального NUMA DBMS-сервера из множества реальных серверов с использованием RDMA(Infiniband) - DB2 Purescale. Есть высоколатентный - OracleRAC.
Но все они дорогие.


Это Рак высоколатентный ? кто вам такое сказал ?
Я вас умоялю :)
Плохо умоляете, я все равно останусь объективным :)
Вы уж определитесь 20 мс это много или мало. Потом сравните с 5мс в RAC, а потом сравните с 20 мкс в Purescale.


ДохтаРдонкихотВот вы как большой специалист по кластерным СУБД знаете какие задержки у QPI (CPU2CPU),

В профильном форуме один из ключевых моментов достаточно гарячо обсуждался с нашим с Иваном участием .
Можете поконкретней ссылку с числом в наносекундах?
...
Рейтинг: 0 / 0
Плюсы против голого Си, холивар #9
    #37961128
Фотография iv_an_ru
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
донкихотПока вы возводите в культ личности людей из каменного века в IT и предлагаете iv_an_ruХорошо, давайте сторгуемся на лишних 20 мс, другие уже используют DB2 Purescale с задержками в 10-20мкс, что в 1000 раз меньше.На этих выходных у нашего партнёра студент взгромоздил базу знаний в ~250гигаквадов на 16*(2*Xeon/256Gb RAM), и собирается долить туда же ещё втрое больше, получив скромную такую табличку с триллионом строк и довольно толстый BI слой над ней. Мне вот интересно, сколько бы пришлось заплатить за железо, чтобы не только общую производительность обеспечить, измеряемую запросами в час, а ещё одновременно с ней и низкую латентность?
...
Рейтинг: 0 / 0
Плюсы против голого Си, холивар #9
    #37961151
донкихот
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
iv_an_ruдонкихотПока вы возводите в культ личности людей из каменного века в IT и предлагаете пропущено...
, другие уже используют DB2 Purescale с задержками в 10-20мкс, что в 1000 раз меньше.На этих выходных у нашего партнёра студент взгромоздил базу знаний в ~250гигаквадов на 16*(2*Xeon/256Gb RAM), и собирается долить туда же ещё втрое больше, получив скромную такую табличку с триллионом строк и довольно толстый BI слой над ней. Мне вот интересно, сколько бы пришлось заплатить за железо, чтобы не только общую производительность обеспечить, измеряемую запросами в час, а ещё одновременно с ней и низкую латентность?
Я говорил: что есть донкихот Но все они дорогие.

Вы говорили: что это невозможно iv_an_ruУже есть дешевые программные способы превысить скорость света?
Зачем вам знать "сколько бы пришлось заплатить" за "способы превысить скорость света"? :)


Дальше, во-первых зачем обсуждать стоимость того, что в вашей задаче не нужно? Во-вторых там где это нужно, программно (infiniband там копейки) решается на порядки дешевле чем аппаратно.

И ещё раз. Насчет есть ли дешевые, я спрашивал у "сторонника виртуализации вычислительных мощьностей внутри одной большой коробки" :)
Там даже у меня вопрос стоит :)
...
Рейтинг: 0 / 0
Плюсы против голого Си, холивар #9
    #37961168
ДохтаР
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
донкихотДохтаРпропущено...


Это Рак высоколатентный ? кто вам такое сказал ?
Я вас умоялю :)
Плохо умоляете, я все равно останусь объективным :)
Вы уж определитесь 20 мс это много или мало. Потом сравните с 5мс в RAC, а потом сравните с 20 мкс в Purescale.


Я не совсем понял , для каких операций вы насчитали 5мс и 20 мкс ?


донкихотДохтаРпропущено...

В профильном форуме один из ключевых моментов достаточно гарячо обсуждался с нашим с Иваном участием .
Можете поконкретней ссылку с числом в наносекундах?

Я не совсем понял какие метрики вам нужны в наносекундах .
что мы меряем (срвниваем ) ?
...
Рейтинг: 0 / 0
Плюсы против голого Си, холивар #9
    #37961189
донкихот
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ДохтаР , задержку - время для передачи минимального блока данных между серверами кластера.
...
Рейтинг: 0 / 0
Плюсы против голого Си, холивар #9
    #37961203
ДохтаР
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
донкихот ДохтаР , задержку - время для передачи минимального блока данных между серверами кластера.

Нет кластера,
есть достаточно большое ( от нескольких десятков до нескольких сотен)
ядер и памяти ( до 4 терабайт) внутри одного сервера ,
там можно запустить хоть одну, хоть десятки операционных систем и приложений.
И приоритетно шарить процессора и память между операционками.
Если приоритетной ОС ресурсы не нужны ( не использует) ,
эти ресурсы может забрать операционка с более низким приоритетом.









.
...
Рейтинг: 0 / 0
Плюсы против голого Си, холивар #9
    #37961212
донкихот
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ДохтаРдонкихот ДохтаР , задержку - время для передачи минимального блока данных между серверами кластера.

Нет кластера,
есть достаточно большое ( от нескольких десятков до нескольких сотен)
ядер и памяти ( до 4 терабайт) внутри одного сервера ,
там можно запустить хоть одну, хоть десятки операционных систем и приложений.
И приоритетно шарить процессора и память между операционками.
Если приоритетной ОС ресурсы не нужны ( не использует) ,
эти ресурсы может забрать операционка с более низким приоритетом.
.
В RAC или Purescale нет кластера?
А в чем вопрос-то?
...
Рейтинг: 0 / 0
Плюсы против голого Си, холивар #9
    #37961243
ДохтаР
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
донкихот,

Я вам не про кластеры , а провиртуализацю вычислительных мощьностей.
Хотите кластер , можете запустить его поверх виртуализации.
1 из 128 процов кластера на одном сервере и 1 из 256 на другом .

НО с точки зрения латентности это должен быть стендбай кластер.
Использовать вычислительные русурсы обеих нод
нецелесообразно с точки зрения производительности.
Лучше в активную ноду добавить процессоров.
...
Рейтинг: 0 / 0
Плюсы против голого Си, холивар #9
    #37961253
донкихот
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ДохтаРдонкихот,

Я вам не про кластеры , а провиртуализацю вычислительных мощьностей.
Хотите кластер , можете запустить его поверх виртуализации.
1 из 128 процов кластера на одном сервере и 1 из 256 на другом .

НО с точки зрения латентности это должен быть стендбай кластер.
Использовать вычислительные русурсы обеих нод
нецелесообразно с точки зрения производительности.
Лучше в активную ноду добавить процессоров.
И в чем прикол такого RAC со всеми нодами на одном сервере?
Вы спрашивали почему RAC высоколатентный - потому что нету RDMA(хотя обманывают что есть) и добавляются огромные задержки на порядки большие чем аппаратные. По этому даже на большом ящике у RAC общение между нодами будет с задержками выше 1 мс.

А стендбай зачем класть на тот же сервер что и активную ноду. Резерв обычно разносится с боевой системой подальше.
...
Рейтинг: 0 / 0
Плюсы против голого Си, холивар #9
    #37961273
ДохтаР
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
донкихот,


А зачем вобще платить за рак ?

Работает несколько станделон баз с количеством процов у баз вплодь до количества
ядер в большом ящике.
Все что не использует продакшин может использоваться на тесты и разработку.
И еще место останется для какого нибудь местячкового DWH проекта на начальной стадии.
Когда им всем станет тесно в 2 коробках , покупается третья , и системы равномерно растасовываются
из 2х ящиков в 3.
...
Рейтинг: 0 / 0
Плюсы против голого Си, холивар #9
    #37961292
ДохтаР
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Стендбай лоожится в другой ящик , где ресурсы не использует.
Его ресурсы использует другая система , стендбай которой лежи в первом ящике.

Недай Бог один из ящиков умирает , все собирается в одном ,
низкоприоритеные системы будут подтормаживать ,
критичные к производительности ( с высоким приоритетом),
недостатка в ресурсах испытывать не будут.
...
Рейтинг: 0 / 0
Плюсы против голого Си, холивар #9
    #37961297
донкихот
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ДохтаРдонкихот,
А зачем вобще платить за рак ?
Что бы не платить за большой ящик :)
Хотя что из этого лучше вопрос открытый.
...
Рейтинг: 0 / 0
Плюсы против голого Си, холивар #9
    #37961298
донкихот
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ДохтаРСтендбай лоожится в другой ящик , где ресурсы не использует.
Его ресурсы использует другая система , стендбай которой лежи в первом ящике.

Недай Бог один из ящиков умирает , все собирается в одном ,
низкоприоритеные системы будут подтормаживать ,
критичные к производительности ( с высоким приоритетом),
недостатка в ресурсах испытывать не будут.
Да так бывает делают.
...
Рейтинг: 0 / 0
Плюсы против голого Си, холивар #9
    #37961306
ДохтаР
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
донкихотДохтаРдонкихот,
А зачем вобще платить за рак ?
Что бы не платить за большой ящик :)
Хотя что из этого лучше вопрос открытый.

Я для себя однозначный выбор сделал .
:)
...
Рейтинг: 0 / 0
Плюсы против голого Си, холивар #9
    #37984538
Vermin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
iv_an_ru,
у них же разные области применения, так что холивар излишне
...
Рейтинг: 0 / 0
Плюсы против голого Си, холивар #9
    #37984565
Фотография iv_an_ru
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Vermin,

Полностью с вами согласен. Что не помешало нафлудить 9 страниц только тут :)
...
Рейтинг: 0 / 0
Плюсы против голого Си, холивар #9
    #37984567
Verminiv_an_ru,
у них же разные области применения, так что холивар излишне
У обоих в том числе системное программирование.
...
Рейтинг: 0 / 0
Плюсы против голого Си, холивар #9
    #37984577
Vermin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
системное программирование,

это да, но значит нужно смотреть по конкретной задаче

iv_an_ru,

любит народ переливать из пустого в порожнее, что поделать
...
Рейтинг: 0 / 0
Плюсы против голого Си, холивар #9
    #37984595
egorych
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
iv_an_ruVermin,

Полностью с вами согласен. Что не помешало нафлудить 9 страниц только тут :)вы жеж по заявленной теме вообще ни одного поста за 9 страниц не написали, тёрли всё за шардинг и тэпэ
...
Рейтинг: 0 / 0
Плюсы против голого Си, холивар #9
    #37984660
Фотография iv_an_ru
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
egorych,

Топик был создан, чтобы спасти другой топик от оффтопика, и мне показалось неразумным создавать ещё один топик для спасения от "оффтопика второго порядка" топика "оффтопика первого порядка" :)
...
Рейтинг: 0 / 0
Плюсы против голого Си, холивар #9
    #37984680
донкихот
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ДохтаРдонкихотпропущено...

Что бы не платить за большой ящик :)
Хотя что из этого лучше вопрос открытый.

Я для себя однозначный выбор сделал .
:)
А если бы вам дали строгие требования к системе, N-ое количество денег на неё и премию в 50% от сэкономленных денег из этого N-ого количества, выбираете деньги или большой черный ящик?
...
Рейтинг: 0 / 0
228 сообщений из 228, показаны все 10 страниц
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Плюсы против голого Си, холивар #9
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]