|
vector на триллион объектов
|
|||
---|---|---|---|
#18+
есть какие-то ограничения в практическом применении векторов? если вектор вырастет до триллиона структур и будет постоянно висеть в памяти, есть ли какие-то риски? ... |
|||
:
Нравится:
Не нравится:
|
|||
23.06.2020, 14:46 |
|
vector на триллион объектов
|
|||
---|---|---|---|
#18+
Хочу выделить не менее терабайта памяти. Не идиот ли я??? ... |
|||
:
Нравится:
Не нравится:
|
|||
23.06.2020, 14:48 |
|
vector на триллион объектов
|
|||
---|---|---|---|
#18+
Алексей Роза есть какие-то ограничения в практическом применении векторов? Для x64 нет. В x86 примерно 1.7 Гб потолок. Алексей Роза если вектор вырастет до триллиона структур и будет постоянно висеть в памяти, есть ли какие-то риски? Память кончится - ОС закроет прогу. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.06.2020, 14:52 |
|
vector на триллион объектов
|
|||
---|---|---|---|
#18+
Алексей Роза, Самое время вторым постом написать for.... Триллион. И посмотреть ... |
|||
:
Нравится:
Не нравится:
|
|||
23.06.2020, 15:05 |
|
vector на триллион объектов
|
|||
---|---|---|---|
#18+
Алексей Роза, а что в вектор будете складывать, просто из любопытства ? ... |
|||
:
Нравится:
Не нравится:
|
|||
23.06.2020, 15:23 |
|
vector на триллион объектов
|
|||
---|---|---|---|
#18+
Dima T Для x64 нет. В x86 примерно 1.7 Гб потолок. не ну это понятно. Конечно про x64 речь. вопрос в сохранности, констистенции и скорости обработки... mini.weblab Алексей Роза, а что в вектор будете складывать, просто из любопытства ? инты, строки. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.06.2020, 15:39 |
|
vector на триллион объектов
|
|||
---|---|---|---|
#18+
Алексей Роза инты, строки. Практически исключено что такой объем данных нужен одновременно. Поэтому вам нужна СУБД, postgresql там какой-нибудь, которая умеет хорошо работать с выборками данных из набора не помещающегося в памяти. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.06.2020, 15:43 |
|
vector на триллион объектов
|
|||
---|---|---|---|
#18+
ни одна СУБД не умеет хорошо работать с данными, которые лежат на диске да и когда в памяти миллиард строк, тоже тупит. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.06.2020, 16:09 |
|
vector на триллион объектов
|
|||
---|---|---|---|
#18+
Алексей Роза ни одна СУБД не умеет хорошо работать с данными, которые лежат на диске да и когда в памяти миллиард строк, тоже тупит. Реализовывайте свой алгоритм кеширования и подгрузки с диска. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.06.2020, 16:13 |
|
vector на триллион объектов
|
|||
---|---|---|---|
#18+
Алексей Роза ни одна СУБД не умеет хорошо работать с данными, которые лежат на диске да и когда в памяти миллиард строк, тоже тупит. Это основное назначение субд. А вы говорите не умеют))) ... |
|||
:
Нравится:
Не нравится:
|
|||
23.06.2020, 16:18 |
|
vector на триллион объектов
|
|||
---|---|---|---|
#18+
Алексей Роза ни одна СУБД не умеет хорошо работать с данными, которые лежат на диске да и когда в памяти миллиард строк, тоже тупит. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.06.2020, 16:19 |
|
vector на триллион объектов
|
|||
---|---|---|---|
#18+
Алексей Роза ни одна СУБД не умеет хорошо работать с данными, которые лежат на диске Стебелек умеет. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.06.2020, 16:34 |
|
vector на триллион объектов
|
|||
---|---|---|---|
#18+
Anatoly Moskovsky, Файл на диске умеет. Он же ничего не сказал о запросах к данным))))) о целостности данных, о транзакционности... ... |
|||
:
Нравится:
Не нравится:
|
|||
23.06.2020, 16:57 |
|
vector на триллион объектов
|
|||
---|---|---|---|
#18+
Алексей Роза есть какие-то ограничения в практическом применении векторов? если вектор вырастет до триллиона структур и будет постоянно висеть в памяти, есть ли какие-то риски? Что такое триллион? 10^6 - это миллион 10^9 - это миллард 10^12 - это триллион Если грубо - то это приставка тера-*. Тоесть если-бы структура была байтом - то мы-бы грубо выделили 1 терабайт. Мне кажется вопрос упирается в действия ОС во время операции malloc(). Что она будет делать? Тут наверное Windows/Linux будут идти по разной стратегии. И какие будут ограничения на фактическую оперативку. Возможно при таком объеме стоит посмотреть в memory-mapped API. Consern такой. Даже если ты аллоцируешь 1 теребайт оперативы то вряд-ли ты в единый миг сможешь ее использовать. Технически - я думаю это возможно. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.06.2020, 17:33 |
|
vector на триллион объектов
|
|||
---|---|---|---|
#18+
PetroNotC Sharp Файл на диске умеет. Я всерьез не собирался обсуждать его заявление. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.06.2020, 17:39 |
|
vector на триллион объектов
|
|||
---|---|---|---|
#18+
По поводу того что у нас не malloc а vector. Здесь есть нюансы. Я думаю имеет смысл делать предварительное резервирование структур в штуках в конструкторе https://en.cppreference.com/w/cpp/container/vector/vector Потому-что динамический resize может быть расточительным в нашем кейсе. Возможно в какой-то момент мы затребуем даже больше чем 1 Тера-количество элементов. Сколько там он? В 1.5 или 1.2 или 2 раза? Я не помню. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.06.2020, 17:49 |
|
vector на триллион объектов
|
|||
---|---|---|---|
#18+
PetroNotC Sharp Алексей Роза ни одна СУБД не умеет хорошо работать с данными, которые лежат на диске да и когда в памяти миллиард строк, тоже тупит. Это основное назначение субд. А вы говорите не умеют))) основное назначение СУБД - сохранность и поиск данных. скорость - НЕ основное. Вот транзакции - да. Чтобы найти рандомную, незакешированную строчку среди миллиардов, уйдёт несколько секунд. Anatoly Moskovsky Алексей Роза ни одна СУБД не умеет хорошо работать с данными, которые лежат на диске Стебелек умеет. чего он умеет? Все они одинаковые. Даже редиска под нагрузкой сдувается. Да и без нагрузки херня неэффективная. mayton Я думаю имеет смысл делать предварительное резервирование структур в штуках в конструкторе ну это само собой. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.06.2020, 18:03 |
|
vector на триллион объектов
|
|||
---|---|---|---|
#18+
Алексей Роза Чтобы найти рандомную, незакешированную строчку среди миллиардов, уйдёт несколько секунд. При кривых руках админа, вполне возможно )) ... |
|||
:
Нравится:
Не нравится:
|
|||
23.06.2020, 18:27 |
|
vector на триллион объектов
|
|||
---|---|---|---|
#18+
Алексей Роза основное назначение СУБД - сохранность и поиск данных. скорость - НЕ основное. Вот транзакции - да. Чтобы найти рандомную, незакешированную строчку среди миллиардов, уйдёт несколько секунд. Расскажи что у тебя лежит внутри этих структур. И может тебе надо не vector а какую-то другую структуру данных для поиска. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.06.2020, 19:05 |
|
vector на триллион объектов
|
|||
---|---|---|---|
#18+
Интересно для чего может понадобиться такая задача? ... |
|||
:
Нравится:
Не нравится:
|
|||
23.06.2020, 19:12 |
|
vector на триллион объектов
|
|||
---|---|---|---|
#18+
petrav Алексей Роза ни одна СУБД не умеет хорошо работать с данными, которые лежат на диске да и когда в памяти миллиард строк, тоже тупит. Реализовывайте свой алгоритм кеширования и подгрузки с диска. Давайте эксперимент. Возьмем бесплатную DBMS (PG/MySQL). Создатим табличку. С 1 полем типа Int. Проиндексируем ее по этому полю. Загрузим миллиард чисел. Последовательность. Имеем предварительно знание что любой индекс баз данных класса B+Tree имее 3-4 уровня блоков. Тоесть максимум за 4 дисковых операции он находит нужный ключ. Для старого магнитного диска типа HDD время поиска любого сектора занимает в среднем 6 милисекунд. (я промерял аж 5 своих SATA дисков и эти цифры правда такие. Я гарантирую.). Тоесть любой ключ в этой таблице мы найдем за 6 * 4 = 24 милисекунды. Это на старом жлобском магнином диске. Ну для твердотельных там будут цифры получше. И этот весь эксперимент не требует тера-штучного вектора. Обычная база типа Postgres/MySQL. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.06.2020, 19:17 |
|
vector на триллион объектов
|
|||
---|---|---|---|
#18+
mayton petrav пропущено... Реализовывайте свой алгоритм кеширования и подгрузки с диска. Давайте эксперимент. Возьмем бесплатную DBMS (PG/MySQL). Создатим табличку. С 1 полем типа Int. Проиндексируем ее по этому полю. Загрузим миллиард чисел. Мы не знаем какие у автора требования. Чисто теоретически, написав узкоспециализированный алгоритм, своё кеширование (обойдя кеширование ОС), наверное, можно обогнать универсальную БД. Особенно если у нас очень "необычный" алгоритм работы с данными. Но чисто практически, свой алгоритм кеширования, я думаю, может по сложности неожиданно потянуть на докторскую диссертацию из какой-нибудь аля теории множеств. :) ... |
|||
:
Нравится:
Не нравится:
|
|||
23.06.2020, 20:00 |
|
vector на триллион объектов
|
|||
---|---|---|---|
#18+
Я так всегда делаю. В спорных технических вопросах даю готовое коробочное решение с цифрами. Пускай даже прямое и деревянное. И дальше уже автор пускай обосновывает почему ему это решение не подходит. И уже с цифрами. На самом деле кеши поверх БД тоже строят. Вот сбербанк не просто построил а разработал целый программный продукт в виде грида кешей и уже продает его отдельно. Но там - тоже свои сложности. С invalidation. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.06.2020, 20:07 |
|
vector на триллион объектов
|
|||
---|---|---|---|
#18+
Алексей Роза, >Чтобы найти рандомную, незакешированную строчку среди миллиардов, уйдёт несколько секунд. По ключу? МИКРОсекунд. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.06.2020, 21:18 |
|
vector на триллион объектов
|
|||
---|---|---|---|
#18+
Посмотрите про In memory database (Exasol, MemSql). Может это то, что вам надо? ... |
|||
:
Нравится:
Не нравится:
|
|||
23.06.2020, 22:18 |
|
vector на триллион объектов
|
|||
---|---|---|---|
#18+
mayton Для старого магнитного диска типа HDD время поиска любого сектора занимает в среднем 6 милисекунд. а причём тут сектор? откуда БД знает, в каком секторе лежит нужная строка?? она сначала будет ВСЕ строки с диска в память тащить, а потом в них будет искать нужную. это и называется "кеширование". (и да, это я говорю про таблицу индексов щас) ... |
|||
:
Нравится:
Не нравится:
|
|||
23.06.2020, 22:21 |
|
vector на триллион объектов
|
|||
---|---|---|---|
#18+
Алексей Роза а причём тут сектор? откуда БД знает, в каком секторе лежит нужная строка?? она сначала будет ВСЕ строки с диска в память тащить, а потом в них будет искать нужную. это и называется "кеширование". Про индексы слышали? )) ... |
|||
:
Нравится:
Не нравится:
|
|||
23.06.2020, 22:24 |
|
vector на триллион объектов
|
|||
---|---|---|---|
#18+
Алексей Роза, >а причём тут сектор? откуда БД знает, в каком секторе лежит нужная строка?? По ключику вестимо select vasja from... where id=123 ... |
|||
:
Нравится:
Не нравится:
|
|||
23.06.2020, 22:27 |
|
vector на триллион объектов
|
|||
---|---|---|---|
#18+
PetroNotC Sharp Алексей Роза, >Чтобы найти рандомную, незакешированную строчку среди миллиардов, уйдёт несколько секунд. По ключу? МИКРОсекунд. это когда данные уже закешированы. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.06.2020, 22:27 |
|
vector на триллион объектов
|
|||
---|---|---|---|
#18+
Anatoly Moskovsky Алексей Роза а причём тут сектор? откуда БД знает, в каком секторе лежит нужная строка?? она сначала будет ВСЕ строки с диска в память тащить, а потом в них будет искать нужную. это и называется "кеширование". Про индексы слышали? )) кстати, в случае мейтоновского эксперимента она будет = исходной таблице. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.06.2020, 22:28 |
|
vector на триллион объектов
|
|||
---|---|---|---|
#18+
Алексей Роза PetroNotC Sharp Алексей Роза, >Чтобы найти рандомную, незакешированную строчку среди миллиардов, уйдёт несколько секунд. По ключу? МИКРОсекунд. это когда данные уже закешированы. У тебя других слов кроме "кеширование" в лексиконе нет? Кэш[1][2][3][4] или кеш[5][6][7] (англ. cache, от фр. cacher — «прятать»; произносится [kæʃ] — «кэш») — промежуточный буфер с быстрым доступом к нему, содержащий информацию, которая может быть запрошена с наибольшей вероятностью. Доступ к данным в кэше осуществляется быстрее, чем выборка исходных данных из более медленной памяти или удалённого источника, однако её объём существенно ограничен по сравнению с хранилищем исходных данных. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.06.2020, 22:29 |
|
vector на триллион объектов
|
|||
---|---|---|---|
#18+
Алексей Роза, Сначала построй правильную реляционную модель данных. А потом задавай вопросы. В модели данные не лежат без первичного ключа PK ... |
|||
:
Нравится:
Не нравится:
|
|||
23.06.2020, 22:32 |
|
vector на триллион объектов
|
|||
---|---|---|---|
#18+
Вот какой подфорум, по предположительному качеству образования участников, должен был бы быть лидером по количеству и чистоте бреда? Кто бы мог подумать, что это... ... |
|||
:
Нравится:
Не нравится:
|
|||
23.06.2020, 22:35 |
|
vector на триллион объектов
|
|||
---|---|---|---|
#18+
PetroNotC Sharp, ты зачем мне всё это пишешь, кэп? сначала научись не флудить водой, а потом приходи в мою тему. PetroNotC Sharp В модели данные не лежат без первичного ключа PK поработай с базами данных плотно, может избавишь от своих розовых бредней. bk0010 Посмотрите про In memory database (Exasol, MemSql). Может это то, что вам надо? есть сравнение с той же редиской? ... |
|||
:
Нравится:
Не нравится:
|
|||
23.06.2020, 22:44 |
|
vector на триллион объектов
|
|||
---|---|---|---|
#18+
booby Вот какой подфорум, по предположительному качеству образования участников, должен был бы быть лидером по количеству и чистоте бреда? Кто бы мог подумать, что это... да не говори... в 2020 не знать, что RDBMS это мееееедленно... парадокс ... |
|||
:
Нравится:
Не нравится:
|
|||
23.06.2020, 22:47 |
|
vector на триллион объектов
|
|||
---|---|---|---|
#18+
Алексей Роза booby Вот какой подфорум, по предположительному качеству образования участников, должен был бы быть лидером по количеству и чистоте бреда? Кто бы мог подумать, что это... да не говори... в 2020 не знать, что RDBMS это мееееедленно... парадокс Вам "мееееедленно" или "в память не влазит триллион"… Поэтому топик и есть бред. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.06.2020, 22:59 |
|
vector на триллион объектов
|
|||
---|---|---|---|
#18+
PetroNotC Sharp в память не влазит триллион да научись ты уже читать! я не спрашивал такое. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.06.2020, 23:09 |
|
vector на триллион объектов
|
|||
---|---|---|---|
#18+
Алексей Роза, Леша, не тешь себя. Конечно, ты в этом форуме не самый знатный бредогенератор. Волну гнать можешь, но нызенько... ... |
|||
:
Нравится:
Не нравится:
|
|||
23.06.2020, 23:23 |
|
vector на триллион объектов
|
|||
---|---|---|---|
#18+
booby Алексей Роза, Леша, не тешь себя. Конечно, ты в этом форуме не самый знатный бредогенератор. Волну гнать можешь, но нызенько... ты эту херню детсадовскую будешь писать, когда я к тебе в тему приду пофлудить. А пока волну тут гонишь ты. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.06.2020, 00:21 |
|
vector на триллион объектов
|
|||
---|---|---|---|
#18+
Basil A. Sidorov, ... |
|||
:
Нравится:
Не нравится:
|
|||
24.06.2020, 00:56 |
|
vector на триллион объектов
|
|||
---|---|---|---|
#18+
Алексей Роза PetroNotC Sharp в память не влазит триллион да научись ты уже читать! я не спрашивал такое. авторвопрос в сохранности, констистенции и скорости обработки... Как то скупо ты вещаешь мил человек. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.06.2020, 07:07 |
|
vector на триллион объектов
|
|||
---|---|---|---|
#18+
Алексей Роза mayton Для старого магнитного диска типа HDD время поиска любого сектора занимает в среднем 6 милисекунд. а причём тут сектор? откуда БД знает, в каком секторе лежит нужная строка?? она сначала будет ВСЕ строки с диска в память тащить, а потом в них будет искать нужную. это и называется "кеширование". (и да, это я говорю про таблицу индексов щас) Нет. Бд не работает так как ты рассказываешь. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.06.2020, 07:10 |
|
vector на триллион объектов
|
|||
---|---|---|---|
#18+
Алексей Роза а причём тут сектор? откуда БД знает, в каком секторе лежит нужная строка?? она сначала будет ВСЕ строки с диска в память тащить, а потом в них будет искать нужную. это и называется "кеширование". (и да, это я говорю про таблицу индексов щас) https://ru.wikipedia.org/wiki/B -дерево ... |
|||
:
Нравится:
Не нравится:
|
|||
24.06.2020, 09:25 |
|
vector на триллион объектов
|
|||
---|---|---|---|
#18+
PetroNotC Sharp Как то скупо ты вещаешь мил человек. Я вполне конкретно и чётко определил, что меня интересует Алексей Роза ни одна СУБД не умеет хорошо работать с данными, которые лежат на диске да и когда в памяти миллиард строк, тоже тупит. и нигде не говорил про то, что у меня памяти не хватает. потому что такой проблемы у меня нет. Я знаю как её обойти. Вы же начинаете сказки рассказывать про то, что в РДБМС всё чудесно и в любой момент там миллисекунды, загоняй данные туда. Я более 10 лет работаю с РДБМС, хватило. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.06.2020, 10:12 |
|
vector на триллион объектов
|
|||
---|---|---|---|
#18+
mayton Нет. Бд не работает так как ты рассказываешь. да именно так и работает. Есть "горячие" данные, а есть "холодные". Когда данные загружены в память (закешированы) - это горячие. Только вот даже когда они в памяти, это всё равно абстракция и нихрена не быстро, когда подключаются джойны и сортировки. Поиск по id - самая быстрая операция, но она не самая частая. Есть и другие, гораздо более медленные. Так вот, данные в памяти лежат постоянно только у маленьких таблиц. А большие лежат на диске. И во время первого запроса они ещё "холодные". Там даже поиск по id хромает. зы: миллисекунды - это кстати много. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.06.2020, 10:27 |
|
vector на триллион объектов
|
|||
---|---|---|---|
#18+
Barlone, а чего только 2? Вываливай все индексы, зачем останавливаться... ... |
|||
:
Нравится:
Не нравится:
|
|||
24.06.2020, 10:31 |
|
vector на триллион объектов
|
|||
---|---|---|---|
#18+
А как реализовывается индекс по строковому полю? Что хранится в бинарном дереве? ... |
|||
:
Нравится:
Не нравится:
|
|||
24.06.2020, 10:46 |
|
vector на триллион объектов
|
|||
---|---|---|---|
#18+
Алексей Роза есть какие-то ограничения в практическом применении векторов? если вектор вырастет до триллиона структур и будет постоянно висеть в памяти, есть ли какие-то риски? То есть памяти хватает и ты в курсе как это решать? Тогда никаких рисков. Работай. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.06.2020, 11:06 |
|
vector на триллион объектов
|
|||
---|---|---|---|
#18+
2 All Стоп гнать бочку на Алексея. Здесь мы обсуждаем вопрос а не персону. (Перчатка Таноса жжот мне руку). Алексей Роза mayton Нет. Бд не работает так как ты рассказываешь. да именно так и работает. Есть "горячие" данные, а есть "холодные". Когда данные загружены в память (закешированы) - это горячие. Только вот даже когда они в памяти, это всё равно абстракция и нихрена не быстро, когда подключаются джойны и сортировки. Поиск по id - самая быстрая операция, но она не самая частая. Есть и другие, гораздо более медленные. Так вот, данные в памяти лежат постоянно только у маленьких таблиц. А большие лежат на диске. И во время первого запроса они ещё "холодные". Там даже поиск по id хромает. зы: миллисекунды - это кстати много. Ты затронул интересный и сложный вопрос. Я по нему могу говорить часами. Но для начала. Давай просто сделаем такой confirm, что алгоритмы поиска на диске в принципе ничем особо не отличаются по complexity от алгоритмов по оперативке. Формула - таже самая. С логарифмом в основе. Тоже самое B+Tree дерево - это сжатое в блоки бинарное дерево поиска. Только надо сделать скидку на физическую организацию данных. И на то что seek time это бич всех механических дисковых систем. а причём тут сектор? откуда БД знает, в каком секторе лежит нужная строка?? она сначала будет ВСЕ строки с диска в память тащить, а потом в них будет искать нужную. это и называется "кеширование". Современные диски оперируют блоками (LBA), поэтому разумно действительно перейти на блоки. Для большинства жестких дисков блок == 4 килобайта или 8 секторов по 512 байт. Каким образом приложение может работать с блоками. Есть такой договорняк что все файловые системы (NTFS/ext4/...etc) начинают свой файл на границе блока. Тоесть если ты открыл файл в режиме RandomAccess и будешь делать seek по смещению кратному 4к то диск при этом будет делать минимальное число операций (access path) для того чтобы тебе предоставить данные. Разумеется режим открытия файла должен быть соотвествующий (без буферизации). Здесь уже надо читать доки на API который ты используешь. Далее - простая арифметика. Если твой индекс состоит из страниц равных 4к или 8к (Oracle by default) тогда будет работать та формула которую я предложил выше. Да милисекунды это долго. Дольше чем просто память. Но обычно все DBMS прогревают в кешах корневые вершины индексов и если с индексом долго работать то в учет времени можно брать уже листовые узлы. Кстати ты до сих пор не рассказал свою задачу. Если мы ее будем знать то сумеем придумать access path такой короткой длины чтобы оперативная память и диск работали в тандеме и находили данные так быстро как только возможно. Есть также альтернативные разработки (dbms Tarantool) которые улучшают даже B+Tree индекс. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.06.2020, 11:17 |
|
vector на триллион объектов
|
|||
---|---|---|---|
#18+
mayton, Ему нужен полнотекстовый поиск по триллиону строк? Ему нужна СУБД если он сказал что память не проблема и вектор в нее влезет? ... |
|||
:
Нравится:
Не нравится:
|
|||
24.06.2020, 11:44 |
|
vector на триллион объектов
|
|||
---|---|---|---|
#18+
Можем даже заниматься системной оптимизацией полнотекстового. Надо просто поставить задачу. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.06.2020, 11:46 |
|
vector на триллион объектов
|
|||
---|---|---|---|
#18+
petravЧто хранится в бинарном дереве? То же что и обычно - ключ, полученный какими-то преобразованиями данных. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
24.06.2020, 11:47 |
|
vector на триллион объектов
|
|||
---|---|---|---|
#18+
mayton Можем даже заниматься системной оптимизацией полнотекстового. Надо просто поставить задачу. Мы много чем можем можем заняться))). Просто ТС не может поставить задачу. )) ... |
|||
:
Нравится:
Не нравится:
|
|||
24.06.2020, 11:47 |
|
vector на триллион объектов
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakov petravЧто хранится в бинарном дереве? То же что и обычно - ключ, полученный какими-то преобразованиями данных. Там хранится ключ и указатель на физическое местоположение строки (RowId) в datafile. Это для листовых узлов индекса. Для не-листовых - там линки на соседние блоки индекса. Его формат немного отличается от указателя. Например Oracle хранит группу целых чисел (номер файла, номер блока в файле (это тот самый 8к блок файловой системы), и номер строки внутри блока). И дополнительно objectId. Это кажется надо для поддержки кластеризованных таблиц. Например. Фрагмент блока индекса. (Я пишу в формате JSON чтоб было понятно. На самом деле там - RAW.) keyrow_id (in JSON)mayton{ file=1, block=25, row=3, objId=... }Petro{ file=1, block=25, row=4, objId=... }........ В таблице есть блок номер 25 где лежат 2 строки проиндексированные по ключам mayton, Petro. Понятно что file=1 это уже не файл где лежит индекс а файл где лежит индексируемая таблица. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.06.2020, 12:00 |
|
vector на триллион объектов
|
|||
---|---|---|---|
#18+
mayton, Замечательно. Осталось выяснить уникальность ключа и работает ли по нему поиск) ... |
|||
:
Нравится:
Не нравится:
|
|||
24.06.2020, 12:03 |
|
vector на триллион объектов
|
|||
---|---|---|---|
#18+
mayton Dimitry Sibiryakov пропущено... То же что и обычно - ключ, полученный какими-то преобразованиями данных. Там хранится ключ и указатель на физическое местоположение строки (RowId) в datafile. Это для листовых узлов индекса. Для не-листовых - там линки на соседние блоки индекса. Я не это имел в виду. Уточню: в случае индекса по строковому полю, что представляет собой ключ? ... |
|||
:
Нравится:
Не нравится:
|
|||
24.06.2020, 12:07 |
|
vector на триллион объектов
|
|||
---|---|---|---|
#18+
Тоже работает. С точки зрения Oracle (например) - все индексы являются Unique по своей структуре данных. Неуникальные там достигаются изменением алгоритма в плане оптимизатора. Как точно - я щас не помню надо почитать. Дядка Том писал об этом. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.06.2020, 12:11 |
|
vector на триллион объектов
|
|||
---|---|---|---|
#18+
petrav mayton пропущено... Там хранится ключ и указатель на физическое местоположение строки (RowId) в datafile. Это для листовых узлов индекса. Для не-листовых - там линки на соседние блоки индекса. Я не это имел в виду. Уточню: в случае индекса по строковому полю, что представляет собой ключ? Абсолютную копию этой-же строки. Тоесть строка "mayton" будет физически скопирована с таблицы в индекс. Но если тебя интересует экономия места - то можно строить Index-Organized-Tables (это гибрид таблицы и индекса). Но там есть ограничения. Нельзя дополнительные поля проиндексировать. Только primary. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.06.2020, 12:13 |
|
vector на триллион объектов
|
|||
---|---|---|---|
#18+
mayton Да милисекунды это долго. Дольше чем просто память. Но обычно все DBMS прогревают в кешах корневые вершины индексов и если с индексом долго работать то в учет времени можно брать уже листовые узлы. Как же происходит балансировка такого дерева, если в кешах только верхняя часть дерева? ... |
|||
:
Нравится:
Не нравится:
|
|||
24.06.2020, 12:36 |
|
vector на триллион объектов
|
|||
---|---|---|---|
#18+
maytonАбсолютную копию этой-же строки. В простейшем случае - да, но обычно применяют преобразования для получения CI AI. И префиксную компрессию. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
24.06.2020, 12:44 |
|
vector на триллион объектов
|
|||
---|---|---|---|
#18+
petrav mayton Да милисекунды это долго. Дольше чем просто память. Но обычно все DBMS прогревают в кешах корневые вершины индексов и если с индексом долго работать то в учет времени можно брать уже листовые узлы. Как же происходит балансировка такого дерева, если в кешах только верхняя часть дерева? В онлайне. Оно растет от листьев к корню. Грубо говоря - малый индекс - это 1 блок. Когда инфа больше чем 8 килобайт - происходит split блока на 2 части вверх поднимается новый ключ-медиана который делит условно все пространство ключей на 2 диапазона. Те что больше ключа ложаться в правое поддерево. А те что меньше в левое. Корневой узел хранит 1 ключ и два указателя влево и справо. А а дочерние узлы - листовые хранят уже ключи и ROW_ID. А вот примерно так будет выглядеть индекс с 3 уровнями. Это когда после сплитов наш корневой узел опух до предела и произошел новый сплит с поднятием нового корня еще выше вверх. Работает тоже самое алгоритм бинарного дерева просто заточенный под работу дисковыми блочками чтоб не создавать лишней нагрузки. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.06.2020, 12:50 |
|
vector на триллион объектов
|
|||
---|---|---|---|
#18+
Работа кешей БД - это прозрачный механизм для движка. Ему по большему счету все равно откуда читать. Просто исходим из предположения что наиболее горячие блоки сконцентрированы вверху дерева. Есть там еще такой интересный параметр как фактор кластеризации. Он .. грубо говоря показывает насколько сильно мы будем промахиваться мимо кеша (таблицы) если будет скан индекса с первого ключа по последний. Это актуально для запросов в RANGE-предикатом. Типа where date between d1 and d2. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.06.2020, 12:53 |
|
vector на триллион объектов
|
|||
---|---|---|---|
#18+
mayton Тоже работает. С точки зрения Oracle (например) - все индексы являются Unique по своей структуре данных. Неуникальные там достигаются изменением алгоритма в плане оптимизатора. Как точно - я щас не помню надо почитать. Дядка Том писал об этом. Тут задают вопрос об уникальности с точки зрения бизнеса. Чтобы full scan не было. То есть перебора всех строк подряд. Мы глубоко в физику процесса полезли. Что будет индексом к "Война и мир"? ... |
|||
:
Нравится:
Не нравится:
|
|||
24.06.2020, 12:58 |
|
vector на триллион объектов
|
|||
---|---|---|---|
#18+
mayton, Без блока where вся твоя физика процесса индексации не имеет смысла. Так как ключи могут быть не использованы вообще оптимизатором. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.06.2020, 13:00 |
|
vector на триллион объектов
|
|||
---|---|---|---|
#18+
Есть отдельный API который бегает мимо кешей. DIRECT. Типа прямой. Он нужен для массовых операций типа count(*). И чтобы count своей селективностью не засирал кеш - его кидают отдельной операцией которая не влияет на состояние кеша. Тоже самое к массовым процессам типа ETL. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.06.2020, 13:01 |
|
vector на триллион объектов
|
|||
---|---|---|---|
#18+
PetroNotC Sharp mayton Тоже работает. С точки зрения Oracle (например) - все индексы являются Unique по своей структуре данных. Неуникальные там достигаются изменением алгоритма в плане оптимизатора. Как точно - я щас не помню надо почитать. Дядка Том писал об этом. Тут задают вопрос об уникальности с точки зрения бизнеса. Чтобы full scan не было. То есть перебора всех строк подряд. Мы глубоко в физику процесса полезли. Что будет индексом к "Война и мир"? Я ведь тоже не могу ответить на этот вопрос при такой обобщённой постановке. Прямой ответ - смотрите в excecution plan и добивайтесь того чтобы FTS операция была заменена на index-scan, index-range, e.t.c. Есть еще варианты - использовать partition iterator но это все требует деталей которых у меня нет. Оптимизаторы часто используют логику наподобие нейро-сети. Тоесть принимают решение исходя из десятка настроечных параметров и не один DBA не может наперед сказать что план будет хорош или плох. Оптимизация плана - это итеративный процесс. Смотришь. Изменяешь. Смотришь. Изменяешь... итд. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.06.2020, 13:05 |
|
vector на триллион объектов
|
|||
---|---|---|---|
#18+
mayton, Просто не люблю усложнять когда нет вообще постановки. Пример: - ТС не говоил что будут запросы. Поэтому индексом PK к колонке строк Война и мир будет автоинкремент. Чтобы при родах вектора структуру книги не потерять. Всё. Автор больше не усложнял никакими доп требованиями. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.06.2020, 13:20 |
|
vector на триллион объектов
|
|||
---|---|---|---|
#18+
mayton, >Прямой ответ - смотрите в excecution plan До плана далеко. Мы не построили Модель. Не знаем типы данных в колонках и какой индекс строить руками при проектировании таблицы. Индексов то полно всяких). Я выше предложил МИНИМАЛЬНЫЙ. Автоинкремент PK Пусть автор докажет что это не работает. "ТС работает больше отвечающих" (с) ... |
|||
:
Нравится:
Не нравится:
|
|||
24.06.2020, 13:27 |
|
vector на триллион объектов
|
|||
---|---|---|---|
#18+
По поводу войны и мира. Что ты хочешь найти? Страницу документа? Номер строки? Или Строка и номер слова в строке? Хочешь ли ты строгий поиск по совпадению? Или ты хочешь поиск по основе слова? Или ты хочешь стемминг и лематизацию и способность кода находить синонимы и похожие слова и опечатки. Это все дополнения которые на 100 и более % меняют постановку и заставляют нас прыгать от обычного индекса - к индексу Би-грамм и к фильтру Блума. И к фасетизации всех данных. Текстовый поиск это вообще офигенски сложная дисциплина. И я в ней плаваю. Я знаю ее где-то на 10% и там много подводных камней. Всё что я описывал выше это обычный классический поиск в БД который к тексту вообще-то отношения не имеет. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.06.2020, 13:37 |
|
vector на триллион объектов
|
|||
---|---|---|---|
#18+
mayton, Конечно. Поэтому кеши, деревья, и еще раз кеши мимо темы топика. Имхо. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.06.2020, 13:42 |
|
vector на триллион объектов
|
|||
---|---|---|---|
#18+
Хорошо. Тогда я умолкаю. Подожду Алексея с его тера-массивом структур. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.06.2020, 14:06 |
|
vector на триллион объектов
|
|||
---|---|---|---|
#18+
mayton petrav пропущено... Как же происходит балансировка такого дерева, если в кешах только верхняя часть дерева? В онлайне. Оно растет от листьев к корню. Грубо говоря - малый индекс - это 1 блок. Это я понимаю, оффкос, примерно. Простой вопрос. У нас террабайт строк, мы ещё создали индекс на террабайт. При этом 99% этого индекса лежит на диске. Добавление одной строки не приведёт ли к полной перестройке дерева? Т.е. к полному поднятию терребайтного индекса с диска и обратной записи на диск этого террабайта. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.06.2020, 14:10 |
|
vector на триллион объектов
|
|||
---|---|---|---|
#18+
petravДобавление одной строки не приведёт ли к полной перестройке дерева? Нет, максимум три блока при сплите. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
24.06.2020, 14:12 |
|
vector на триллион объектов
|
|||
---|---|---|---|
#18+
petrav mayton пропущено... В онлайне. Оно растет от листьев к корню. Грубо говоря - малый индекс - это 1 блок. Это я понимаю, оффкос, примерно. Простой вопрос. У нас террабайт строк, мы ещё создали индекс на террабайт. При этом 99% этого индекса лежит на диске. Добавление одной строки не приведёт ли к полной перестройке дерева? Т.е. к полному поднятию терребайтного индекса с диска и обратной записи на диск этого террабайта. Нет конешно. Еслиб такой ужас был тогда и загрузка данных в таблицу лагала-бы. В наихудшем случае может быть split. Но это вместо 4 IOPS, будет чуть больше. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.06.2020, 14:14 |
|
vector на триллион объектов
|
|||
---|---|---|---|
#18+
ну вы писАть блин... PetroNotC Sharp Алексей Роза есть какие-то ограничения в практическом применении векторов? если вектор вырастет до триллиона структур и будет постоянно висеть в памяти, есть ли какие-то риски? То есть памяти хватает и ты в курсе как это решать? Тогда никаких рисков. Работай. Памяти хватает. Не хватает опыта. Что будет через 5 лет нахождения информации в памяти? Каков шанс потерять рандомный байт? mayton Но для начала. Давай просто сделаем такой confirm, что алгоритмы поиска на диске в принципе ничем особо не отличаются по complexity от алгоритмов по оперативке. Формула - таже самая. С логарифмом в основе. Тоже самое B+Tree дерево - это сжатое в блоки бинарное дерево поиска. Да это основы. Ясно, что и там, и там стандартная хексовая таблица. Было бы странно, если бы память и HDD хранили инфу по-разному, ведь и то, и то - память. mayton Да милисекунды это долго. Дольше чем просто память. Но обычно все DBMS прогревают в кешах корневые вершины индексов и если с индексом долго работать то в учет времени можно брать уже листовые узлы. не надо DBMS. mayton сумеем придумать access path такой короткой длины чтобы оперативная память и диск работали в тандеме и находили данные так быстро как только возможно не надо. mayton Есть также альтернативные разработки (dbms Tarantool) которые улучшают даже B+Tree индекс. аааААааааАааАААаААаАааа mayton Хорошо. Тогда я умолкаю. Подожду Алексея с его тера-массивом структур. ну строго говоря, самое близкое к моей задаче - это индекс. но это не задача... у меня нет вопросов про то, как индексировать есть только вопрос заданный выше... и ещё один теперь можно обсудить - про полнотекстовый поиск, раз уж его затронули. Я так понимаю, чтобы в "Войне и мир" найти слово "кровь" надо всю войну разложить в столбики по одинаковым словам? Вообще у гугла есть описание, как устроен поиск... там 3.14здецки сложно. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.06.2020, 14:47 |
|
vector на триллион объектов
|
|||
---|---|---|---|
#18+
Алексей Роза ну строго говоря, самое близкое к моей задаче - это индекс. но это не задача... у меня нет вопросов про то, как индексировать есть только вопрос заданный выше... и ещё один теперь можно обсудить - про полнотекстовый поиск, раз уж его затронули. Я так понимаю, чтобы в "Войне и мир" найти слово "кровь" надо всю войну разложить в столбики по одинаковым словам? Вообще у гугла есть описание, как устроен поиск... там 3.14здецки сложно. Нет. Не надо на столбики раскладывать. Вообще Война и Мир это текстовый файл длиной где-то 5 мегабайт и в нем поиск любого слова идет достаточно быстро для современного процессора и памяти. Ты в текстовом редакторе там найдешь все что надо. Тоесть это - неудачный пример. Может у тебя есть другой источник данных который больше этой книги раз в ..... на 6 порядков? Ведь мы говорили о тера* суффиксе. А это 12 нулей. Мегабайт - порядка 6 нулей. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.06.2020, 14:53 |
|
vector на триллион объектов
|
|||
---|---|---|---|
#18+
maytonМожет у тебя есть другой источник данных который больше этой книги раз в ..... на 6 порядков? Ненуачо, тут не может быть топикстартера, работающего с БАК-ом?.. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
24.06.2020, 14:58 |
|
vector на триллион объектов
|
|||
---|---|---|---|
#18+
БАК - это та штука которая "разгоняет и сталкивает" частицы? ... |
|||
:
Нравится:
Не нравится:
|
|||
24.06.2020, 15:01 |
|
vector на триллион объектов
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakov maytonМожет у тебя есть другой источник данных который больше этой книги раз в ..... на 6 порядков? Ненуачо, тут не может быть топикстартера, работающего с БАК-ом?.. БАК не порождает строк. :) Поскольку автор явно не разработчик поисковика гугла или яндекса... Вот какая у него может быть задача? ... |
|||
:
Нравится:
Не нравится:
|
|||
24.06.2020, 15:03 |
|
vector на триллион объектов
|
|||
---|---|---|---|
#18+
petravБАК не порождает строк. :) Так и у аффтара не строки, а структуры. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
24.06.2020, 15:16 |
|
vector на триллион объектов
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakov petravБАК не порождает строк. :) Так и у аффтара не строки, а структуры. А в структурах инты и строки. Он так говорил, если не ошибаюсь. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.06.2020, 15:20 |
|
vector на триллион объектов
|
|||
---|---|---|---|
#18+
Я даже боюсь себе представить что порождает БАК. Характеристики частиц? ... |
|||
:
Нравится:
Не нравится:
|
|||
24.06.2020, 15:20 |
|
vector на триллион объектов
|
|||
---|---|---|---|
#18+
petrav, Аффтар приколист. На третьей странице свернул к бэкапу чтобы байт не потерять. И к полнотекстовому поиску так как мы! его затронули)). ... |
|||
:
Нравится:
Не нравится:
|
|||
24.06.2020, 15:21 |
|
vector на триллион объектов
|
|||
---|---|---|---|
#18+
petrav Dimitry Sibiryakov пропущено... Так и у аффтара не строки, а структуры. А в структурах инты и строки. Он так говорил, если не ошибаюсь. Структуры физические. Из физики твердого тела. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.06.2020, 15:22 |
|
vector на триллион объектов
|
|||
---|---|---|---|
#18+
mayton Я даже боюсь себе представить что порождает БАК. Характеристики частиц? Огромные таблицы из дробных чисел (не знаю в каком формате: double, float, fixed, может ещё что-то огромной размерности) + флаги режимов работы. Больше ничего. :) ... |
|||
:
Нравится:
Не нравится:
|
|||
24.06.2020, 15:26 |
|
vector на триллион объектов
|
|||
---|---|---|---|
#18+
Помните числовую оценку? 1Тб диск будет занят полностью нашим вектором если структура == 1байт. Если вы положите туда такую структуру Код: plaintext 1. 2. 3. 4.
То нам понадобиться 4 + 8 = 12 байтная структура. Тоесть 12 терабайтный диск. Иднекс по БД обычно несет в себе оверхед порядка 75% полезного места. Это только для ключей. И для ROW_ID + данных надо посчитать. Но мне щас как-то лень. Проще прикинуть на глаз. Наверное более чем в 2 раза. Вобщем я вангую грубо 24 терабайтное хранилище для Алексеевских экспериментов в случае Index-Organized table. Для раздельного индексирования value и fvalue нам уже понадобиться 3 объекта. Таблица и два индекса. Давайте просто накинем 3 раза. 72 терабайт. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.06.2020, 15:31 |
|
vector на триллион объектов
|
|||
---|---|---|---|
#18+
mayton Помните числовую оценку? 1Тб диск будет занят полностью нашим вектором если структура == 1байт. ... Давайте просто накинем 3 раза. 72 терабайт. Автор уже на первой странице говорит про инты и строки. Так что не 72 ... |
|||
:
Нравится:
Не нравится:
|
|||
24.06.2020, 15:41 |
|
vector на триллион объектов
|
|||
---|---|---|---|
#18+
Просто любой эксперимент должен иметь какие-то числовые предварительные оценки. Автор ищет алгоритмы и структуры данных. Но должен быть стенд и макет. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.06.2020, 15:48 |
|
vector на триллион объектов
|
|||
---|---|---|---|
#18+
Итого? TC не корректно ставит задачи, вместо того чтобы сразу написать про предметную область вопроса Народ возбудился на скорость обработки запросов от строения индекса-способов поиска и т.д. и т.п.. На самом деле задача решаема, правда если убрать магическое слово вектор Ну и война и мир решаема, было дело - делал такие движки в дос времена... TC конечно же провокатор, но надеюсь добрый ну вы блин даёте (из кинухи) (круглый) ... |
|||
:
Нравится:
Не нравится:
|
|||
24.06.2020, 15:51 |
|
vector на триллион объектов
|
|||
---|---|---|---|
#18+
Круглый нас это не беспокоит. Sql.ru - это дискуссионный клуб. Мы тут ... как видишь и без автора подискутировали. P.S. Подсудимого не было но суд состоялся. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.06.2020, 15:54 |
|
vector на триллион объектов
|
|||
---|---|---|---|
#18+
mayton, понял, заткнулся :) ... |
|||
:
Нравится:
Не нравится:
|
|||
24.06.2020, 15:58 |
|
vector на триллион объектов
|
|||
---|---|---|---|
#18+
Да ладно. Пиши. Как там ты Толстого под Досом индексировал... ... |
|||
:
Нравится:
Не нравится:
|
|||
24.06.2020, 16:00 |
|
vector на триллион объектов
|
|||
---|---|---|---|
#18+
mayton, то пока на горизонте ИТ нет, точнее есть но не под таким соусом. лучше ближе сказки старого озвучу - в прософте делал часть движка объектной бд. нижний слой - без транзакционного но гарантированного ведения индекса+фиксированный формат данных. беркли по скорости сделал, не на много конечно же...ну это и понятно - там транзакционный слой есть. под форточки, файл шаринг. два помойму уровня индекса (объёмы были фиксированные по условию). как то так. чисто по жизни - одна из голубых мечт-задач = когда нить сделать аля AS400 но на базе железа микроконтроллеровского + фпга. там так-же есть где собаку порыть :) - можно не хилый профит по скорости получить, но сначала там на мелкий ниокр тянет.. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.06.2020, 16:11 |
|
vector на триллион объектов
|
|||
---|---|---|---|
#18+
kolobok0, Да. Добрый провокатор) бывший DBA. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.06.2020, 16:14 |
|
vector на триллион объектов
|
|||
---|---|---|---|
#18+
PetroNotC Sharp, задача решается на раз-два распределёнными вычислениями. но не в один вектор конечно же загонять надобно всё. тогда скорость зависит от диспетчеризации плюс поиска в одной банке данных. с нынешними технологиями микросеврисов плюс контейнеризации решается со свистом. если конечно же не пытаться городить монолиты-"микросеврисы" (круглый) ... |
|||
:
Нравится:
Не нравится:
|
|||
24.06.2020, 16:18 |
|
vector на триллион объектов
|
|||
---|---|---|---|
#18+
kolobok0 mayton, то пока на горизонте ИТ нет, точнее есть но не под таким соусом. лучше ближе сказки старого озвучу - в прософте делал часть движка объектной бд. нижний слой - без транзакционного но гарантированного ведения индекса+фиксированный формат данных. беркли по скорости сделал, не на много конечно же...ну это и понятно - там транзакционный слой есть. под форточки, файл шаринг. два помойму уровня индекса (объёмы были фиксированные по условию). как то так. Кажется в Беркли поддерживал несколько двигателей хранения. Там и дисковая хеш-табличка была и дерево. И вообще я думаю этот беркли создавали в эпоху дискет. Тоесть... не всё могли учесть. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.06.2020, 17:39 |
|
vector на триллион объектов
|
|||
---|---|---|---|
#18+
mayton Вообще Война и Мир это текстовый файл длиной где-то 5 мегабайт и в нем поиск любого слова идет достаточно быстро для современного процессора и памяти. Ты в текстовом редакторе там найдешь все что надо. текстовый редактор в 2мб-файле ищет слово из конца неск.секунд. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.06.2020, 17:50 |
|
vector на триллион объектов
|
|||
---|---|---|---|
#18+
PetroNotC Sharp petrav, Аффтар приколист. На третьей странице свернул к бэкапу чтобы байт не потерять. И к полнотекстовому поиску так как мы! его затронули)). к какому ещё бекапу я свернул, где? ... |
|||
:
Нравится:
Не нравится:
|
|||
24.06.2020, 17:53 |
|
vector на триллион объектов
|
|||
---|---|---|---|
#18+
Алексей Роза mayton Вообще Война и Мир это текстовый файл длиной где-то 5 мегабайт и в нем поиск любого слова идет достаточно быстро для современного процессора и памяти. Ты в текстовом редакторе там найдешь все что надо. текстовый редактор в 2мб-файле ищет слово из конца неск.секунд. Как верно подметили Колобок, используя технологии распределённого поиска, мы можем безо всяких индексов просто подняв копии этого файла в памяти на 20 физических инстанциях искать в 20 раз быстрее. Разумеется файл при этом будет равномерно порезан как колбаса на 20 хеш-чанков. Вот тебе первое коробочное решение проблемы. И если ты искал несколько (сколько? Допустим 5 секунд) то после такого distibuted-search-improovement, я вангую 5 сек / 20 = 1/4 = 0.25 секунды. Хорошее время. Согласно Амдалу в конце этого процесса будет join результатов поиска. Но если этих результатов мало - то и процесс джойна нам ничего не будет стоить. Просто подожём финала 20 процессов. Тут важно чтобы они работали равномерно. И не было среди них 1 доходяги который еще ползет. Как тебе такое решение? ... |
|||
:
Нравится:
Не нравится:
|
|||
24.06.2020, 17:57 |
|
vector на триллион объектов
|
|||
---|---|---|---|
#18+
Алексей Роза . Конечно про x64 речь. А Microsoft в Win64 прямо так разрешает 2^64 байт адресо? Dima T Для x64 нет. В x86 примерно 1.7 Гб потолок. А для "64" потолок - 2^64? https://docs.microsoft.com/en-us/windows/win32/memory/memory-limits-for-windows-releases ... |
|||
:
Нравится:
Не нравится:
|
|||
24.06.2020, 18:27 |
|
vector на триллион объектов
|
|||
---|---|---|---|
#18+
Алексей Роза mayton Вообще Война и Мир это текстовый файл длиной где-то 5 мегабайт и в нем поиск любого слова идет достаточно быстро для современного процессора и памяти. Ты в текстовом редакторе там найдешь все что надо. текстовый редактор в 2мб-файле ищет слово из конца неск.секунд. Ну что за бред очередной Скорость чтения современного паршивенького HDD около 100 мб/сек, т.е. 2 мб читается 0.02 сек, ровно 20 мс надо чтобы найти слово в конце 2 мб. но если HDD спит, читай выключен, то да, 1.98 сек уйдет на его раскрутку перед чтением. Чтение из закэшированного файла порядка 4-5 Гб/сек, т.е. это скорость работы кэша ОС. Тут на поиск уйдет 0,0005 сек. Надо быстро с диска читать - SSD NMVe M.2 скорость чтения до 4 Гб/сек может быть. PS У меня на селеронах 15-летней давности strstr() в 50+ мб ищет за миллисекунды. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.06.2020, 18:39 |
|
vector на триллион объектов
|
|||
---|---|---|---|
#18+
mayton Как тебе такое решение? 0.25 секунды? решение? Как-то ты далековат от темы хайлоада. А зачем ты мне про какие-то поиски в текстовых редакторах рассказываешь, когда я фактически тоже самое предлагал - расфасовать все слова? Это вообще-то побыстрее работает, чем забить 20 ядер поиском по массиву слов... Ради 0.25 сек Не, гугловские технологии таки лучше. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.06.2020, 18:40 |
|
vector на триллион объектов
|
|||
---|---|---|---|
#18+
Dima T PS У меня на селеронах 15-летней давности strstr() в 50+ мб ищет за миллисекунды. какой strstr блин mayton Ты в текстовом редакторе там найдешь все что надо. Dima T Чтение из закэшированного файла порядка 4-5 Гб/сек, т.е. это скорость работы кэша ОС. Тут на поиск уйдет 0,0005 сек. ну ок, пускай внутри C++ будет 0.0005, но таких массивов текстов будет несколько. Представь, что по библиотеке надо найти все подходящие книги. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.06.2020, 18:42 |
|
vector на триллион объектов
|
|||
---|---|---|---|
#18+
Алексей Роза Это вообще-то побыстрее работает, чем забить 20 ядер поиском по массиву слов... Ради 0.25 сек Не, гугловские технологии таки лучше. Я тебе могу рассказать как гугловские работают. Там тоже map-reduce. По полнотекстовому индексу всего интернета. Но с региональными особенностями. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.06.2020, 18:43 |
|
vector на триллион объектов
|
|||
---|---|---|---|
#18+
Алексей Роза Dima T PS У меня на селеронах 15-летней давности strstr() в 50+ мб ищет за миллисекунды. какой strstr блин mayton Ты в текстовом редакторе там найдешь все что надо. Видишь как хорошо. Найтоящий брейншторм. Мы уже твой триллион объектов рассмотрели в 4 разных способа. Кстати за тобой должок. Ты так и не рассказал что внутри объектов. А от этого ... как-то обидно. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.06.2020, 18:45 |
|
vector на триллион объектов
|
|||
---|---|---|---|
#18+
Алексей Роза Dima T PS У меня на селеронах 15-летней давности strstr() в 50+ мб ищет за миллисекунды. какой strstr блин тот что по ссылке, а ищет в файле замапленном в память. 10+ лет назад написал, думал надо ускорять, а оно и так летает. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.06.2020, 18:46 |
|
vector на триллион объектов
|
|||
---|---|---|---|
#18+
Алексей РозаКак-то ты далековат от темы хайлоада. Того хайлоада, который "всё тормозит и мы не можем понять почему"? Или того, который "зачем оптимизировать наш код, когда можно ужесточить требования к чужому?" Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
24.06.2020, 18:47 |
|
vector на триллион объектов
|
|||
---|---|---|---|
#18+
Алексей Роза PetroNotC Sharp petrav, Аффтар приколист. На третьей странице свернул к бэкапу чтобы байт не потерять. И к полнотекстовому поиску так как мы! его затронули)). к какому ещё бекапу я свернул, где? Ты держа коллекцию или вектор в оперативке боялся потерять байт? Ну дак расшифруй как это потерять. Уборщица шваброй резет нажала? ... |
|||
:
Нравится:
Не нравится:
|
|||
24.06.2020, 18:51 |
|
vector на триллион объектов
|
|||
---|---|---|---|
#18+
mayton Мы уже твой триллион объектов рассмотрели в 4 разных способа. чо вы рассмотрели то? У меня нет проблем с поиском по триллионному вектору а в объектах int + short ИЛИ int + string я это говорил в начале. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.06.2020, 18:53 |
|
vector на триллион объектов
|
|||
---|---|---|---|
#18+
Если все-таки СУБД потребуется - то я бы советовал глянуть в сторону SQLite, она изначально рождена как СУБД работающая на стороне клиента. У нее есть прямой интерфейс для С/С++, это немаловажно, т.к. классические универсальные прокладки аля ADO, ODBC и т.п. жрут достаточно много ресурсов. Изначально она медленная, т.к. настроена на максимум надежности, но при некотором тюнинге может летать. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.06.2020, 18:54 |
|
vector на триллион объектов
|
|||
---|---|---|---|
#18+
По поводу исходных данных. Есть такой ресурс. Или был. Называется Флибуста. Там - библиотека художественной литературы в формате fb2 (это XML внутри). Ее - можно качнуть в торрентах в виде zip архивов. Там есть полные и есть инкременты. Так вот. Когда мы еще с Базистом спорили о trie, hash-array и прочих структурах я предлагал Флибусту использовать в качестве исходных данных для симуляции правильной нагрузки. Базист тогда предпочитал парсить ПТ чтобы индексировать его содержимое. Кстати я думаю он сейчас чуть ли не единственный у кого есть исторический срез ПТ. Где-то по 2015 год я думаю. Вобщем если кто-то хочет реально показать свою мощь и круть - попробуйте поискать слова в Флибусте. Я думаю сейчас там гигабайт на 100 потянет. Это примерно 10% от той постановки которую озвучил Алексей. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.06.2020, 18:56 |
|
vector на триллион объектов
|
|||
---|---|---|---|
#18+
Алексей Роза mayton Мы уже твой триллион объектов рассмотрели в 4 разных способа. чо вы рассмотрели то? У меня нет проблем с поиском по триллионному вектору а в объектах int + short ИЛИ int + string я это говорил в начале. Еще раз сформулируй проблему. Со знаками препинания. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.06.2020, 18:58 |
|
vector на триллион объектов
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakov Алексей РозаКак-то ты далековат от темы хайлоада. Того хайлоада, который "всё тормозит и мы не можем понять почему"? Или того, который "зачем оптимизировать наш код, когда можно ужесточить требования к чужому?" полнотекстовый поиск по библиотеке книг у нас на повестке - что непонятного? но вообще это можно и не обсуждать, сам писать не буду, проще либу взять. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.06.2020, 18:58 |
|
vector на триллион объектов
|
|||
---|---|---|---|
#18+
Dima T Если все-таки СУБД потребуется - то я бы советовал глянуть в сторону SQLite, она изначально рождена как СУБД работающая на стороне клиента. У нее есть прямой интерфейс для С/С++, это немаловажно, т.к. классические универсальные прокладки аля ADO, ODBC и т.п. жрут достаточно много ресурсов. Изначально она медленная, т.к. настроена на максимум надежности, но при некотором тюнинге может летать. я уже обглядел ВСЕ субд. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.06.2020, 18:59 |
|
vector на триллион объектов
|
|||
---|---|---|---|
#18+
mayton Вобщем если кто-то хочет реально показать свою мощь и круть - попробуйте поискать слова в Флибусте. Я думаю сейчас там гигабайт на 100 потянет. Это примерно 10% от той постановки которую озвучил Алексей. да там какой-нибудь эластик всё делает ... |
|||
:
Нравится:
Не нравится:
|
|||
24.06.2020, 19:00 |
|
vector на триллион объектов
|
|||
---|---|---|---|
#18+
Алексей Роза mayton Мы уже твой триллион объектов рассмотрели в 4 разных способа. чо вы рассмотрели то? У меня нет проблем с поиском по триллионному вектору а в объектах int + short ИЛИ int + string я это говорил в начале. А какая средняя длина string? Или даже не длина а ... например 99% строк не превышают 3 символа. Ну чтото типа такого я хотел услышать. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.06.2020, 19:03 |
|
vector на триллион объектов
|
|||
---|---|---|---|
#18+
да также - 4 символа ... |
|||
:
Нравится:
Не нравится:
|
|||
24.06.2020, 19:04 |
|
vector на триллион объектов
|
|||
---|---|---|---|
#18+
Алексей Розаполнотекстовый поиск по библиотеке книг у нас на повестке - что непонятного? Полнотекстовый поиск. В векторе. На триллион слов. Понятно. Удачи! Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
24.06.2020, 19:09 |
|
vector на триллион объектов
|
|||
---|---|---|---|
#18+
Алексей Роза mayton Вобщем если кто-то хочет реально показать свою мощь и круть - попробуйте поискать слова в Флибусте. Я думаю сейчас там гигабайт на 100 потянет. Это примерно 10% от той постановки которую озвучил Алексей. да там какой-нибудь эластик всё делает Под капотом Эластика стоит Lucene. Это текстовый двигатель написанный на Java и использующий концептуально map-reduce как главный регулятор перформанса. Тоесть как ты хочешь - так и ускоряешь его. Единственный нюанс. Эластик плохо работает с арифметикой. Тоесть он на заточен например под WHERE month between 'JAN' and 'JUL'. Он в принципе не делает арифметику. Он - по точному совпадению. Хотя может его уже доделали. Я не следил где-то с 2018 года. Кроме того Эластик - не для транзакций а для исторических данных. Типа логи. Тоесть если файл дописываетя в хвостик - то эластик будет хорош. А если у вас есть типизированная табличка типа dbm/dbf/stuctures C++ то здесь эластик зафейлит. Он не сможет отслеживать изменение в центре таблицы. Ему надо как-то отдельно сообщать и подписывать его на изменения. И то они будут eventual consistent. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.06.2020, 19:10 |
|
vector на триллион объектов
|
|||
---|---|---|---|
#18+
угу, я тоже за postgres FTS. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.06.2020, 19:13 |
|
vector на триллион объектов
|
|||
---|---|---|---|
#18+
Алексей Роза да также - 4 символа Ну это типа так? Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9.
... |
|||
:
Нравится:
Не нравится:
|
|||
24.06.2020, 19:13 |
|
vector на триллион объектов
|
|||
---|---|---|---|
#18+
Алексей Роза Dima T Если все-таки СУБД потребуется - то я бы советовал глянуть в сторону SQLite, она изначально рождена как СУБД работающая на стороне клиента. У нее есть прямой интерфейс для С/С++, это немаловажно, т.к. классические универсальные прокладки аля ADO, ODBC и т.п. жрут достаточно много ресурсов. Изначально она медленная, т.к. настроена на максимум надежности, но при некотором тюнинге может летать. я уже обглядел ВСЕ субд. Кстати Дима хороший вариант предлагал. СКЛайт умеет полнотекстовый индекс тоже строить. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.06.2020, 19:14 |
|
vector на триллион объектов
|
|||
---|---|---|---|
#18+
Алексей Роза У меня нет проблем с поиском по триллионному вектору Это троллинг какой-то. Предлагаю топик закрыть. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.06.2020, 19:15 |
|
vector на триллион объектов
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakov Алексей Розаполнотекстовый поиск по библиотеке книг у нас на повестке - что непонятного? Полнотекстовый поиск. В векторе. На триллион слов. Понятно. Удачи! да хосспаде, забудьте уже про вектор. Нету с ним никаких проблем! и про память уже всё ясно, что риски такие же, как и с диском (а то и меньше). А вот про поиск в библиотеке тема всплыла, она поинтересней будет... Но тут лидером был и остаётся гугл, так что лучше него всё равно ничего не родить. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.06.2020, 19:17 |
|
vector на триллион объектов
|
|||
---|---|---|---|
#18+
Dima T Алексей Роза У меня нет проблем с поиском по триллионному вектору Это троллинг какой-то. Предлагаю топик закрыть. Да вообще не тема, а песец. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.06.2020, 19:18 |
|
vector на триллион объектов
|
|||
---|---|---|---|
#18+
mayton Ну это типа так? Код: plaintext 1. 2. 3. 4.
... |
|||
:
Нравится:
Не нравится:
|
|||
24.06.2020, 19:21 |
|
vector на триллион объектов
|
|||
---|---|---|---|
#18+
Dima T Алексей Роза У меня нет проблем с поиском по триллионному вектору Это троллинг какой-то. Предлагаю топик закрыть. предлагаю не искать чёрную кошку там, где её нет тут все зачем-то бросились искать по вектору, когда такой задачи я даже не ставил. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.06.2020, 19:23 |
|
vector на триллион объектов
|
|||
---|---|---|---|
#18+
Алексей Роза Dimitry Sibiryakov пропущено... Полнотекстовый поиск. В векторе. На триллион слов. Понятно. Удачи! да хосспаде, забудьте уже про вектор. Нету с ним никаких проблем! и про память уже всё ясно, что риски такие же, как и с диском (а то и меньше). А вот про поиск в библиотеке тема всплыла, она поинтересней будет... Но тут лидером был и остаётся гугл, так что лучше него всё равно ничего не родить. Гугл это не 1-instance приложение. Это грид. А ты что думал? ... |
|||
:
Нравится:
Не нравится:
|
|||
24.06.2020, 19:24 |
|
vector на триллион объектов
|
|||
---|---|---|---|
#18+
mayton Я тебе могу рассказать как гугловские работают. Там тоже map-reduce. По полнотекстовому индексу всего интернета. Но с региональными особенностями. ну... капельку сложнее . Систему синонимов в map-reduce не впихнёшь. mayton Гугл это не 1-instance приложение. Это грид. ну у него и объёмы другие. Это детали. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.06.2020, 19:31 |
|
vector на триллион объектов
|
|||
---|---|---|---|
#18+
Алексей Роза, а ты всё таки толстый тролище. Вроде как тема была - не знаю как быть с массивом. Как искать. А потом - и проблем нет. Мог бы исходник показать да и все. Чего не показал? Без копирайтов конешно... ... |
|||
:
Нравится:
Не нравится:
|
|||
24.06.2020, 19:34 |
|
vector на триллион объектов
|
|||
---|---|---|---|
#18+
mayton Вроде как тема была - не знаю как быть с массивом. Как искать. да не было такой темы "как искать по массиву". По индексу там искать, чё тут думать. Это вы понабежали со своими RDBMS и давай втюхивать перформанс, у кого быстрее. Я может и поддался на секунду веянию искать внутри объектов, но вообще-то это не нужно. Нет такой задачи. Стандартные БД - вот что тут вообще не в тему. нах.. мы их обсуждаем 6 страниц - непонятно. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.06.2020, 19:46 |
|
vector на триллион объектов
|
|||
---|---|---|---|
#18+
Алексей Роза Стандартные БД - вот что тут вообще не в тему. нах.. мы их обсуждаем 6 страниц - непонятно. Да? А кто это написал Алексей Роза вопрос в сохранности, констистенции и скорости обработки... Какая сохранность в памяти? Одна кривая функция - вызвал и память загажена. Консистенция и вектор вообще понятия из разных областей. Ты эти умные слова упомянул (подозреваю что сам не понял зачем) и тебе ответили что надо использовать СУБД, т.к. эти слова реализованы в СУБД. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.06.2020, 20:10 |
|
vector на триллион объектов
|
|||
---|---|---|---|
#18+
Dima T Какая сохранность в памяти? вот эта. Меня вот это интересовало: Алексей Роза Что будет через 5 лет нахождения информации в памяти? Каков шанс потерять рандомный байт? Вот, например, вы знаете, что некоторые SSD если оставить без питания, то через пару недель вы оттуда ничего не считаете? Для меня это было открытием. Dima T Одна кривая функция - вызвал и память загажена. ну и с файлом так же. Dima T и тебе ответили что надо использовать СУБД, т.к. эти слова реализованы в СУБД. Да нету в СУБД скорости! Я именно это имел ввиду, что вектор взят из-за скорости. А СУБД - это тормозная абстракция для ленивых. В общем ребят, спасибо всем, кто пытался помочь. Само стремление очень ценю и благодарю. Пардон, если какое-то недопонимание возникло по моей вине. В векторе я ищу по индексу, с СУБД работаю более 10 лет и ничего нового по ним вы мне не расскажете. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.06.2020, 20:44 |
|
vector на триллион объектов
|
|||
---|---|---|---|
#18+
Алексей Роза Dima T Какая сохранность в памяти? вот эта. Меня вот это интересовало: Алексей Роза Что будет через 5 лет нахождения информации в памяти? Каков шанс потерять рандомный байт? Вот, например, вы знаете, что некоторые SSD если оставить без питания, то через пару недель вы оттуда ничего не считаете? Для меня это было открытием. Рандомный байт на диске потерять невозможно, но может случиться такая ситуация что этот байт невозможно прочитать, точнее не прочитать сектор где он расположен, для этого пишется и проверяется контрольная сумма. Только я не понимаю зачем в кучу мешать: быстрый доступ к массиву и долговременное хранение данных. Это абсолютно разные задачи и решаются они разными средствами. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.06.2020, 21:00 |
|
vector на триллион объектов
|
|||
---|---|---|---|
#18+
Хм.. меня не покидает устойчивое Дежа-Вю. Где-то я уже Льва Толстого видел. Лет 5 назад. И кажется это был мой топик. С деревьями. Или с бинарными деревьями. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.06.2020, 21:04 |
|
vector на триллион объектов
|
|||
---|---|---|---|
#18+
Ну вот оно. Скруль не нашёл зато гугл по домену sql.ru находит https://www.sql.ru/forum/1268236/vtornichnaya-verevka-dlya-lva-nikolaicha ... |
|||
:
Нравится:
Не нравится:
|
|||
24.06.2020, 21:22 |
|
vector на триллион объектов
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakov petravДобавление одной строки не приведёт ли к полной перестройке дерева? Нет, максимум три блока при сплите. Странно, давно это изучал. Но мне кажется балансировка дерева (в самом худшем случае) может привести к кардинальным изменениям по всему дереву. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.06.2020, 22:29 |
|
vector на триллион объектов
|
|||
---|---|---|---|
#18+
petravбалансировка дерева (в самом худшем случае) может привести к кардинальным изменениям по всему дереву. ЕМНИП это всего лишь перемещение корня, так что тоже три блока. Или даже два если новый корень не записывать. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
25.06.2020, 00:34 |
|
vector на триллион объектов
|
|||
---|---|---|---|
#18+
деревья вообще разные бывают... petrav Но мне кажется балансировка дерева (в самом худшем случае) может привести к кардинальным изменениям по всему дереву. и такое там тоже есть (NS) Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23.
... |
|||
:
Нравится:
Не нравится:
|
|||
25.06.2020, 00:40 |
|
vector на триллион объектов
|
|||
---|---|---|---|
#18+
Dima T Рандомный байт на диске потерять невозможно да не на диске. В памяти! Dima T Это абсолютно разные задачи и решаются они разными средствами. ну так как решается долговременное хранение данных в памяти? ... |
|||
:
Нравится:
Не нравится:
|
|||
25.06.2020, 00:44 |
|
vector на триллион объектов
|
|||
---|---|---|---|
#18+
mayton Ну вот оно. Скруль не нашёл зато гугл по домену sql.ru находит https://www.sql.ru/forum/1268236/vtornichnaya-verevka-dlya-lva-nikolaicha есть такая мысль, подойдёт не всем, но, например, магазинам подойдёт... в магазинах ограниченное кол-во слов, которые ищут. Ну неск. тысяч (в зависимости от магазина) их можно просто забить в индекс и привязать к ним нужные страницы (т.е. entity = "article", id = 123. Или ent = "goods", id = 123) по идее, это будет быстрее, чем что-либо... ... |
|||
:
Нравится:
Не нравится:
|
|||
25.06.2020, 00:47 |
|
vector на триллион объектов
|
|||
---|---|---|---|
#18+
Алексей Роза деревья вообще разные бывают... petrav Но мне кажется балансировка дерева (в самом худшем случае) может привести к кардинальным изменениям по всему дереву. и такое там тоже есть (NS) Конечно, деревья разные бывают. Не могу сейчас спорить. Но что-то мне подсказывает, что против природы не попрёшь. Как ни оптимизируй. Ну, возможно, я ошибаюсь. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.06.2020, 00:49 |
|
vector на триллион объектов
|
|||
---|---|---|---|
#18+
Да. Топик не интересный. Троллинг. Придумывание на ходу задачи "с потолка". ... |
|||
:
Нравится:
Не нравится:
|
|||
25.06.2020, 07:40 |
|
vector на триллион объектов
|
|||
---|---|---|---|
#18+
Алексей Роза Dima T Это абсолютно разные задачи и решаются они разными средствами. ну так как решается долговременное хранение данных в памяти? Почитай про ECC-память ... |
|||
:
Нравится:
Не нравится:
|
|||
25.06.2020, 07:59 |
|
vector на триллион объектов
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakov ...Или даже два если новый корень не записывать. ну как бы наихудший вариант по заниманию новых блоков данными при вставке, это обычно когда вы заюзали новый блок под данные и сплитуете индекс по всей глубине (каждую страницу). у вас меняются: список свободных страниц, индекс, данные. многие бд стараются кэшировать страницы при вставке и сопутствующие данные - тем самым смещая нагрузку на диск на паузы работы ну и плюс более правильное упорядочивание. как то так (круглый) ... |
|||
:
Нравится:
Не нравится:
|
|||
25.06.2020, 10:07 |
|
vector на триллион объектов
|
|||
---|---|---|---|
#18+
Алексей Роза, вот то что ты что ты написал про Adjacency List, Path Enumeration, e.t.c. это всё относится к разным моделям представленяи деревьев в реляционных таблицах. Но это не имеет аж никакого отношения к блочным дисковым структурам данных на которых строится индекс. Я не знаю зачем ты это написал. Это явно не в тему твоей задачи. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.06.2020, 10:14 |
|
vector на триллион объектов
|
|||
---|---|---|---|
#18+
mayton, у тебя избранная слепота чтоли? ты частенько пишешь невпопад. там вообще-то цитата есть и предыдущие 2 сообщения тоже. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.06.2020, 11:19 |
|
vector на триллион объектов
|
|||
---|---|---|---|
#18+
Алексей Роза mayton, у тебя избранная слепота чтоли? ты частенько пишешь невпопад. там вообще-то цитата есть и предыдущие 2 сообщения тоже. Извини мне кажется что у тебя большой большой провал в знаниях в области БД. И обсуждение ребалансировки дерева идет все еще в контексте индекса БД. Но ты очевидно подумал что мы обсуждаем абстрактные деревья? Зачем? Где появился информационный повод обсуждать абстрактные деревья? ... |
|||
:
Нравится:
Не нравится:
|
|||
25.06.2020, 11:23 |
|
vector на триллион объектов
|
|||
---|---|---|---|
#18+
повод появился при твоём непосредственном участии, mayton вот тут 22156478 а потом тут они его продолжают 22156828 я бы и рад конечно не обсуждать эти убогие РДБМС, но вы тут на 6 страницах только их и обсуждаете, мне чё тоже слепым стать теперь mayton Извини мне кажется что у тебя большой большой провал в знаниях в области БД. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.06.2020, 11:39 |
|
vector на триллион объектов
|
|||
---|---|---|---|
#18+
Давай так. Если у тебя как у владельца топика больше нет вопросов я закрою. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.06.2020, 11:42 |
|
vector на триллион объектов
|
|||
---|---|---|---|
#18+
а давай я тебя позову, если надо будет тему закрыть. там полно незакрытых тем, с чего вдруг именно эту надо закрывать мне она не мешает и есть не просит. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.06.2020, 11:46 |
|
vector на триллион объектов
|
|||
---|---|---|---|
#18+
Хорошо пусть висит. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.06.2020, 11:47 |
|
vector на триллион объектов
|
|||
---|---|---|---|
#18+
спасибо тебе ты хороший модер, но нельзя быть везде. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.06.2020, 11:49 |
|
vector на триллион объектов
|
|||
---|---|---|---|
#18+
Алексей Роза Что за манера переходить на личности? Тебе большинство мемберов сказали что им непонятна твоя проблема. Хотя ты и добрый внутри))) ... |
|||
:
Нравится:
Не нравится:
|
|||
25.06.2020, 12:33 |
|
vector на триллион объектов
|
|||
---|---|---|---|
#18+
Алексей Роза спасибо тебе ты хороший модер, но нельзя быть везде. И код приведи. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.06.2020, 12:36 |
|
vector на триллион объектов
|
|||
---|---|---|---|
#18+
а в каких случаях вектор едет в кэш целиком? ... |
|||
:
Нравится:
Не нравится:
|
|||
16.08.2020, 06:47 |
|
vector на триллион объектов
|
|||
---|---|---|---|
#18+
Для моей конфигурации железа (3М L3) никогда. Триллион объектов туда не влезет. Наверное к моменту финала популяции массива в L3 будут лежать хвостовые cache-lines этого массива вперемешку со служебной информацией которая была затребована алгоритмом std::vector. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.08.2020, 13:43 |
|
vector на триллион объектов
|
|||
---|---|---|---|
#18+
если надо проитерировать ячейки с 1,000 до 1,000,000, он возьмёт только эти ячейки в кэш? а если не влезают в кэш, то будет по частям работать? ... |
|||
:
Нравится:
Не нравится:
|
|||
16.08.2020, 14:01 |
|
vector на триллион объектов
|
|||
---|---|---|---|
#18+
Насколько я понял читая литературу - он берет все подряд. Только данные и код разделяются на L1 / I1 instruction два разных кеша на первом уровне. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.08.2020, 14:47 |
|
vector на триллион объектов
|
|||
---|---|---|---|
#18+
в L1 вроде нет инструкций, только данные ... |
|||
:
Нравится:
Не нравится:
|
|||
16.08.2020, 14:59 |
|
vector на триллион объектов
|
|||
---|---|---|---|
#18+
Кэш первого уровня x86-процессоров всегда содержал раздельные области для кэша и данных. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.08.2020, 18:31 |
|
vector на триллион объектов
|
|||
---|---|---|---|
#18+
Алексей Роза 2020 в L1 вроде нет инструкций, только данные Давай превнесем в топик немного пруфа. И цифр. Что мы за инженеры если не оперируем цифрами? Я там ошибся. Написал 3М. Не 3 а 16. Далее. Деление на L1d, L1i (инструкции и данные) тоже есть. Эти цифры - суммарные. Каждый кеш L1 идет по 1 штуке на процессор (2 потока). Поэтому реально алгоритму достанется чуть меньше. Надо будет поделить на 6. Отчот lscpu пишет тоже самое но как-то с другими множителями. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41.
... |
|||
:
Нравится:
Не нравится:
|
|||
16.08.2020, 20:02 |
|
vector на триллион объектов
|
|||
---|---|---|---|
#18+
интересный пруф а где L2/3i и L2/3d ладно, будем считать, что везде есть, не суть. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.08.2020, 04:01 |
|
vector на триллион объектов
|
|||
---|---|---|---|
#18+
Алексей Роза 2020 интересный пруф а где L2/3i и L2/3d ладно, будем считать, что везде есть, не суть. Что означает твой смайлик? Знаешь анекдот как женщина к урологу пришла и говорит - дескыть у моего мужа одно яичко ниже а другое выше..... ... |
|||
:
Нравится:
Не нравится:
|
|||
17.08.2020, 11:09 |
|
vector на триллион объектов
|
|||
---|---|---|---|
#18+
не знаю мало того, его и гугл не знает смайлик это смайлик. На нём нарисовано, чего он означает ... |
|||
:
Нравится:
Не нравится:
|
|||
17.08.2020, 12:27 |
|
vector на триллион объектов
|
|||
---|---|---|---|
#18+
Давай без смайликов спокойно почитаем интернет. И узнаем как инструкции попадают в кеш инструкций. Но мне кажется что тебя в топике не это интересует. Так зачем мы будем тратить много времени на ненужный нам кеш? ... |
|||
:
Нравится:
Не нравится:
|
|||
17.08.2020, 12:29 |
|
vector на триллион объектов
|
|||
---|---|---|---|
#18+
инструкции - нет а вот как вектор на триллион будет запихиваться в кэш - да и вообще, это не мне, а вам про кэш неохота если RDBMS в топике нет, то и поговорить не о чём на 6 страниц ... |
|||
:
Нравится:
Не нравится:
|
|||
17.08.2020, 13:28 |
|
vector на триллион объектов
|
|||
---|---|---|---|
#18+
Алексей Роза 2020, пока ты благополучно сам себя банил () и занимался прочим члено-вредительсвом, я стартовал дискуссию здесь https://www.sql.ru/forum/1327486/predvaritelnye-slushanya-po-memory-cache-part-2 Но у меня не готовы мои учебные тест-кейсы перформанса на C-Lang. Будучи перфекционистом я стал искать фреймворки перформанса и пока на этом осталовился. И я хотел дискуссии кешей перенести туда. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.08.2020, 16:41 |
|
vector на триллион объектов
|
|||
---|---|---|---|
#18+
"Я принёс вам знания, а вы меня распяли" (с) это норма (с) ... |
|||
:
Нравится:
Не нравится:
|
|||
17.08.2020, 19:56 |
|
vector на триллион объектов
|
|||
---|---|---|---|
#18+
Хвастайся хвастайся. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.08.2020, 20:00 |
|
vector на триллион объектов
|
|||
---|---|---|---|
#18+
Алексей Роза 2020 мигрени не мучают? Тесный нимб это вредно для здоровья. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.08.2020, 06:46 |
|
vector на триллион объектов
|
|||
---|---|---|---|
#18+
а тебе твой флудомёт не мешает? Он же занимает всю квартиру и уже с балкона свисает, заливая соседей. Модератор: Редактировано ... |
|||
:
Нравится:
Не нравится:
|
|||
18.08.2020, 16:32 |
|
vector на триллион объектов
|
|||
---|---|---|---|
#18+
Basil A. Sidorov Тесный нимб это вредно для здоровья. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.08.2020, 11:40 |
|
vector на триллион объектов
|
|||
---|---|---|---|
#18+
Модератор Редактировано как же здорово, что у нас есть модератор, который умеет удалять картинки, но не оффтоп. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.08.2020, 16:48 |
|
vector на триллион объектов
|
|||
---|---|---|---|
#18+
Что у нас по теме? Есть что обсудить? Я имею в виду кеши и векторы? ... |
|||
:
Нравится:
Не нравится:
|
|||
19.08.2020, 17:08 |
|
vector на триллион объектов
|
|||
---|---|---|---|
#18+
Всю тему не читал, не осилил Алексей фотку своего персонального ноутбука с терробайтом оперативной памяти уже публиковал или еще нет? Где он такой покупал? Хочу себе такой же.... ... |
|||
:
Нравится:
Не нравится:
|
|||
19.08.2020, 17:19 |
|
vector на триллион объектов
|
|||
---|---|---|---|
#18+
Leonid Kudryavtsev, зачем ноутбука? автор https://www.dell.com/ru/business/p/poweredge-r940/pd // Слоты для модулей памяти 48 слотов для модулей DDR4 DIMM (12 слотов для модулей NVDIMM или 24 слота для модулей DCPMM) Поддерживаются только регистровые модули DDR4 DIMM с ECC // Максимальный объем ОЗУ RDIMM: 3 Тбайт LRDIMM: 6 Тбайт NVDIMM: 384 Гбайт DCPMM: 12,28 Тбайт (15,36 Тбайт с модулями LRDIMM) фотка 128гб памяти ... |
|||
:
Нравится:
Не нравится:
|
|||
20.08.2020, 05:47 |
|
vector на триллион объектов
|
|||
---|---|---|---|
#18+
Нас спасет виртуальная память и панорамирование при просмотре гига- пиксельных фоток. Собственно, ещё в 2010 такие фотки начали публиковать на фоторесурсах. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.08.2020, 15:00 |
|
vector на триллион объектов
|
|||
---|---|---|---|
#18+
виртуальная память чем лучше ссд? ... |
|||
:
Нравится:
Не нравится:
|
|||
20.08.2020, 16:27 |
|
vector на триллион объектов
|
|||
---|---|---|---|
#18+
нас спасёт новый тип памяти, который пусть будет медленнее на 25%, но зато её будет в 10 раз больше ... |
|||
:
Нравится:
Не нравится:
|
|||
20.08.2020, 16:28 |
|
vector на триллион объектов
|
|||
---|---|---|---|
#18+
Алексей Роза 2020 нас спасёт новый тип памяти, который пусть будет медленнее на 25%, но зато её будет в 10 раз больше Позволь спросить а какую задачу ты сейчас решаешь? ... |
|||
:
Нравится:
Не нравится:
|
|||
20.08.2020, 16:56 |
|
vector на триллион объектов
|
|||
---|---|---|---|
#18+
mayton Нас спасет виртуальная память и панорамирование при просмотре гига- пиксельных фоток. Собственно, ещё в 2010 такие фотки начали публиковать на фоторесурсах. Собственно я еще в 1999- 2004 году такие фотки успешно показывал на любом компьютере с оперативной памятью от 16 МЕГА байт, без всякой виртуальной памяти. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.08.2020, 17:04 |
|
vector на триллион объектов
|
|||
---|---|---|---|
#18+
p.s. ну и в очередной раз выдать рекомендаюцию - продайте свое ноу-хау гугл-мапу ! а то они ( https://www.google.com/maps) бедолаги, компьютерный снимок земли (явно больше чем гига пиксель) через интернет показывают, а ни о каком новом типе памяти даже слыхом не слыхивали ((( вот бедолаги ((( столько лет мучаются. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.08.2020, 17:11 |
|
vector на триллион объектов
|
|||
---|---|---|---|
#18+
Leonid Kudryavtsev mayton Нас спасет виртуальная память и панорамирование при просмотре гига- пиксельных фоток. Собственно, ещё в 2010 такие фотки начали публиковать на фоторесурсах. Собственно я еще в 1999- 2004 году такие фотки успешно показывал на любом компьютере с оперативной памятью от 16 МЕГА байт, без всякой виртуальной памяти. автор2. Организация хранения изображений в системе КАМИС a. пирамидальный JPEG (форматы JTIP и SPIFF) b. хранение изображений в виде файлов или в БД Oracle думаю не только ты в 2004 умел фотки в БД хранить. гугл может один кусок мапы с одного сервера показывать, другой с другого. mayton Алексей Роза 2020 нас спасёт новый тип памяти, который пусть будет медленнее на 25%, но зато её будет в 10 раз больше Позволь спросить а какую задачу ты сейчас решаешь? всё ещё запихиваю в вектор триллион объектов... ... |
|||
:
Нравится:
Не нравится:
|
|||
20.08.2020, 19:43 |
|
vector на триллион объектов
|
|||
---|---|---|---|
#18+
Тяпничным топиком можем обсудить у кого сколько может выделить malloc. Интересно сравнить Windows10/Linux. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.08.2020, 23:55 |
|
vector на триллион объектов
|
|||
---|---|---|---|
#18+
Алексей Роза 2020, если бы гугл был собеседником то тогда мы-бы не сидели в sql.ru. Как ты считаешь? ... |
|||
:
Нравится:
Не нравится:
|
|||
21.08.2020, 14:00 |
|
vector на триллион объектов
|
|||
---|---|---|---|
#18+
Алексей Роза 2020 Leonid Kudryavtsev a. пирамидальный JPEG (форматы JTIP и SPIFF) JTIP и в 2004, и в 2020 умели только французы, т.к. пилили бюджет евросоюза по программе Минерва, и я ))) Но в 2020 он уже не актуален, т.к. аналогичная идея добавлена в стандарт JPEG 2000 + уже полно других Tile Server'ов (в основном для картографии). ... |
|||
:
Нравится:
Не нравится:
|
|||
21.08.2020, 14:34 |
|
vector на триллион объектов
|
|||
---|---|---|---|
#18+
mayton Тяпничным топиком можем обсудить у кого сколько может выделить malloc. Интересно сравнить Windows10/Linux. На Windows десяток гигабайт одним куском я выделял (всего физической рам на компе было 32 гб, вроде выделение 25 гб уже обламывалось). Если я правильно помню, давно это было ... |
|||
:
Нравится:
Не нравится:
|
|||
21.08.2020, 14:37 |
|
vector на триллион объектов
|
|||
---|---|---|---|
#18+
Leonid Kudryavtsev mayton Тяпничным топиком можем обсудить у кого сколько может выделить malloc. Интересно сравнить Windows10/Linux. На Windows десяток гигабайт одним куском я выделял (всего физической рам на компе было 32 гб, вроде выделение 25 гб уже обламывалось). Если я правильно помню, давно это было Для современных ОС понятие "один кусок" стало размытым. Я попробую сегодня вечером на GCC под Linux что-то повыделять. И попробую это что-то "использовать" после выделения. Думаю что пункты (1) и (2) могут внезапно оказаться не одиним и тем-же. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.08.2020, 15:03 |
|
vector на триллион объектов
|
|||
---|---|---|---|
#18+
mayton Алексей Роза 2020, если бы гугл был собеседником то тогда мы-бы не сидели в sql.ru. Как ты считаешь? я считаю, мы бы нашли о чём поговорить, чего в гугле нет. обсуждай/не обсуждай, а malloc отдаст 2^64. а вот винда вообще не интересует ... |
|||
:
Нравится:
Не нравится:
|
|||
21.08.2020, 15:04 |
|
vector на триллион объектов
|
|||
---|---|---|---|
#18+
mayton Для современных ОС понятие "один кусок" стало размытым. Я попробую сегодня вечером на GCC под Linux что-то повыделять. И попробую это что-то "использовать" после выделения. Думаю что пункты (1) и (2) могут внезапно оказаться не одиним и тем-же. Не знаю насколько оно "размытое", но сталкивался, что при 25 Gb свободной памяти, 10 Gb выделялось, 10 Gb + 10 Gb выделялось, а вот 20 Gb выделяться/запускаться уже не хотело (((. Банально Java VM запускали на Windows. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.08.2020, 15:14 |
|
vector на триллион объектов
|
|||
---|---|---|---|
#18+
mayton Для современных ОС понятие "один кусок" стало размытым. Можно, конечно, запросить "многапамяти" в нескольких (несмежных) регионах, но вашему приложению придётся явно работать с этими областями. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.08.2020, 15:26 |
|
vector на триллион объектов
|
|||
---|---|---|---|
#18+
Алексей Роза 2020 mayton Алексей Роза 2020, если бы гугл был собеседником то тогда мы-бы не сидели в sql.ru. Как ты считаешь? я считаю, мы бы нашли о чём поговорить, чего в гугле нет. обсуждай/не обсуждай, а malloc отдаст 2^64. а вот винда вообще не интересует Почему винда не интересует? Ведь ты-же кодишь на сях? Не под сферический чайник. Ты выбираешь компиллятор. Среду. Платформу. Тоесть еще на проектировании ты уже знаешь что тебе надо. Сферический С++ проект существует только в учебниках. Согласен? ... |
|||
:
Нравится:
Не нравится:
|
|||
21.08.2020, 15:40 |
|
vector на триллион объектов
|
|||
---|---|---|---|
#18+
Basil A. Sidorov mayton Для современных ОС понятие "один кусок" стало размытым. Можно, конечно, запросить "многапамяти" в нескольких (несмежных) регионах, но вашему приложению придётся явно работать с этими областями. Ну мне тоже это не очень понятно ((( Обычное 64 бит приложение должно работать в своей flat memory model памяти. Т.е. для него все должно быть один регион. Почему проблемы шерифа (операционной системы и фрагментация физ. памяти) как-то сказывается на неграх - мне не очень понятно ((( ... |
|||
:
Нравится:
Не нравится:
|
|||
21.08.2020, 15:50 |
|
vector на триллион объектов
|
|||
---|---|---|---|
#18+
Фрагментация. Тоже интересная тема. Вот уже на целую пятницу собралось. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.08.2020, 15:52 |
|
vector на триллион объектов
|
|||
---|---|---|---|
#18+
Leonid Kudryavtsev Обычное 64 бит приложение должно работать в своей flat memory model памяти. Т.е. для него все должно быть один регион. Приложению всё ещё доступен "один регион"? Это проблема OS? Правда? ... |
|||
:
Нравится:
Не нравится:
|
|||
21.08.2020, 15:59 |
|
vector на триллион объектов
|
|||
---|---|---|---|
#18+
Basil A. Sidorov Leonid Kudryavtsev Обычное 64 бит приложение должно работать в своей flat memory model памяти. Т.е. для него все должно быть один регион. Приложению всё ещё доступен "один регион"? Это проблема OS? Правда? 1. Да. Т.к. вполне можно "нарезать" нужный кусок в конце. 2. У нас проблема была на более ровном месте. Компьютер с 32 Гб памяти, свободно 25 Гб. Пытаемся запустить Java VM с 20 Gb - облом, две Java VM с heap по 10 - нормально. Windows 7, Java толи 7, толи 8. На "свежей" ОС, после перезагрузки, Java с 20 heap'ом запускается ... |
|||
:
Нравится:
Не нравится:
|
|||
21.08.2020, 16:15 |
|
vector на триллион объектов
|
|||
---|---|---|---|
#18+
Leonid Kudryavtsev 1. Да. Т.к. вполне можно "нарезать" нужный кусок в конце. На "свежей" ОС, после перезагрузки, Java с 20 heap'ом запускаетсяЗапустился процесс, потом другой процесс (много памяти), потом первый процесс запросил (немного) памяти в разделяемой (глобальной) области. Потом второй процесс завершился. P.S. Эгоисты хреновы. Вот и в жизни вы такие же - ничего не видите дальше собственного носа. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.08.2020, 16:29 |
|
vector на триллион объектов
|
|||
---|---|---|---|
#18+
Basil A. Sidorov Выделяю запрашиваю куски по мегабайту "до упора" 2 ^ 64 ? Выделил 1 байт памяти Выделил еще 10 байт памяти Освободил первые 1 байт Запросил выделение 5 байт - система упала ? ))) ... |
|||
:
Нравится:
Не нравится:
|
|||
21.08.2020, 16:34 |
|
vector на триллион объектов
|
|||
---|---|---|---|
#18+
mayton Почему винда не интересует? потому что меня интересует только серверный кодинг а на винде у меня серверов не было уже лет 15, и не будет никогда у меня есть всего 1 стационарка на винде, но и та уедет на линух скоро максимум, на что я могу променять линух, это на фрю. Но пока не знаю зачем... ... |
|||
:
Нравится:
Не нравится:
|
|||
21.08.2020, 17:16 |
|
vector на триллион объектов
|
|||
---|---|---|---|
#18+
Leonid Kudryavtsev 2 ^ 64 ? А во-вторых - виртуальное адресное пространство далеко не бесплатно. В "прямой" схеме x86-архитектуры каждые полные или неполные два мегабайта линейного (виртуального) адресного пространства требуют одну физическую (4КБ) страницу в таблице страниц диспетчера виртуальной памяти. Большие страницы не рассматриваем - это отдельный класс виртуальной памяти и он далеко не универсальный. В худшем случае "разреженного" выделения одна (виртуальная) страница данных (приложения) потребует одной (физической) страницы для данных VMM. Плюсом идёт то, что у каждого процесса - собственная карта виртуальной памяти, что ещё больше увеличивает расходы на управление (виртуальным) адресным пространством. Фрагментировать "не такое большое" (по факту) адресное пространство - вполне реально. JVM всегда требует сплошного адресного пространства, даже если конкретное приложение могло бы обойтись "отдельными кусками". Насколько я понимаю, решаться это будет рамках нового API для работы с внешней памятью: JEP 370: Foreign-Memory Access API (Incubator) ( Java 14 ). ... |
|||
:
Нравится:
Не нравится:
|
|||
21.08.2020, 17:19 |
|
vector на триллион объектов
|
|||
---|---|---|---|
#18+
Basil A. Sidorov JVM всегда требует сплошного адресного пространства вот это я и не понимаю ((( адресное пространство все равно будет отображено на конкретные страницы физической памяти. Т.е. выделение _новой_ памяти для процесса должно идти постранично, кусками по 4 Kb (в случае обычных страниц). Один кусок физической памяти нафиг не нужен. Почему фрагментация внутри ОС (физической памяти) сказывается на приложении, мне не очень понятно ... |
|||
:
Нравится:
Не нравится:
|
|||
21.08.2020, 17:26 |
|
vector на триллион объектов
|
|||
---|---|---|---|
#18+
Leonid Kudryavtsev 2. У нас проблема была на более ровном месте. Компьютер с 32 Гб памяти, свободно 25 Гб. Пытаемся запустить Java VM с 20 Gb - облом, две Java VM с heap по 10 - нормально. Windows 7, Java толи 7, толи 8. На "свежей" ОС, после перезагрузки, Java с 20 heap'ом запускается Как-то неудачно, ИМХО, реализован Java VM heap в таком случае. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.08.2020, 17:28 |
|
vector на триллион объектов
|
|||
---|---|---|---|
#18+
petrav Как-то неудачно, ИМХО, реализован Java VM heap в таком случае. vector на триллион объектов ( C ) может быть Алексей Роза раньше в sun работал ? ))) ... |
|||
:
Нравится:
Не нравится:
|
|||
21.08.2020, 17:34 |
|
vector на триллион объектов
|
|||
---|---|---|---|
#18+
Leonid Kudryavtsev вот это я и не понимаю ((( Возврат неиспользуемой памяти операционной системе появился далеко не сразу и далеко не во всех сборщиках мусора. Отказ запускаться с фрагментированной кучей сразу - вполне разумное решение. Со своими недостатками, но это можно сказать о большинстве практичных общецелевых технических решениях. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.08.2020, 17:34 |
|
vector на триллион объектов
|
|||
---|---|---|---|
#18+
Basil A. Sidorov JVM _вообще_ не запускалась, вываливалась в момент старта с кодом OS - не хватает памяти. Windows ей память выделить не мог. Аналогиная проблема лет много назад вроде в форуме Delphi поднималась. Память на компе есть, свободная, Windows / RT одним куском ее выделять не хочет. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.08.2020, 17:36 |
|
vector на триллион объектов
|
|||
---|---|---|---|
#18+
petrav Leonid Kudryavtsev 2. У нас проблема была на более ровном месте. Компьютер с 32 Гб памяти, свободно 25 Гб. Пытаемся запустить Java VM с 20 Gb - облом, две Java VM с heap по 10 - нормально. Windows 7, Java толи 7, толи 8. На "свежей" ОС, после перезагрузки, Java с 20 heap'ом запускается Как-то неудачно, ИМХО, реализован Java VM heap в таком случае. Обычно расчитывают и выделяют minimal footprint (Xms). А Xmx уже указывает потенциально возможный размер до которого можно расти. Это хорошая практика для управления ресурсами. Ситуация с падением 20Гб не говорит ниочем. Надо смотреть конкретную ОС и что было в логах jvm и логах ОС в это время. Возможно это был баг. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.08.2020, 17:38 |
|
vector на триллион объектов
|
|||
---|---|---|---|
#18+
Leonid Kudryavtsev Почему фрагментация внутри ОС (физической памяти) Для физической памяти нет понятия фрагментации - страницы отображаются в линейное адресное пространство процесса как богVMM положит. Исключение - драйвера, работающие с устройствами ввода-вывода и устройствами, отображающими свою память в (физическое) адресное пространство процессора, "но это уже совсем другая история". ... |
|||
:
Нравится:
Не нравится:
|
|||
21.08.2020, 17:40 |
|
vector на триллион объектов
|
|||
---|---|---|---|
#18+
mayton Обычно расчитывают и выделяют minimal footprint (Xms). А Xmx уже указывает потенциально возможный размер до которого можно расти. Это хорошая практика для управления ресурсами.... IMHO это как раз таки дебильная практика для управления ресурсов нормальная это Xms = Xmx Double IMHO ... |
|||
:
Нравится:
Не нравится:
|
|||
21.08.2020, 17:41 |
|
vector на триллион объектов
|
|||
---|---|---|---|
#18+
Leonid Kudryavtsev Windows ей память выделить не мог. Как говорил великий комбинатор: "Я бы взял частями, но мне нужно сразу". ... |
|||
:
Нравится:
Не нравится:
|
|||
21.08.2020, 17:44 |
|
vector на триллион объектов
|
|||
---|---|---|---|
#18+
Basil A. Sidorov Leonid Kudryavtsev Почему фрагментация внутри ОС (физической памяти) вот я это и не понимаю оно же у каждого процесса своя? или я не прав и оно едино для всех процессов в ОС? ... |
|||
:
Нравится:
Не нравится:
|
|||
21.08.2020, 17:45 |
|
vector на триллион объектов
|
|||
---|---|---|---|
#18+
Возьмем например "обычное" 32 бит приложение в среде Windows с 32 Gb RAM на компьютере. Нашему приложению выделять 2 Гбайта только его "линейно-адресуемого (виртуального) адресного пространства" + будет еще свободное окно в 2 Gb для доступа к адресному пространству OS /назовем это так/. Ключем /3Gb это поведение можно поменять и будет 3 + 1 Gb. Я почему-то наивно думал, что у 64 битного приложения все так же, только побольше ))) ... |
|||
:
Нравится:
Не нравится:
|
|||
21.08.2020, 17:48 |
|
vector на триллион объектов
|
|||
---|---|---|---|
#18+
Leonid Kudryavtsev оно же у каждого процесса своя? или я не прав и оно едино для всех процессов в ОС? Процесс может запрашивать и глобальные объекты, которые могут отображаться на одинаковые адреса в пространстве всех процессов. Глобальные объекты могут, наверное, и неявно создаваться операционной системой. Одинаковые линейные адреса глобальных объектов для всех процессов могут назначаться по соображениям, например, эффективности и скорости. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.08.2020, 17:55 |
|
vector на триллион объектов
|
|||
---|---|---|---|
#18+
Leonid Kudryavtsev Возьмем например "обычное" 32 бит приложение в среде Windows с 32 Gb RAM на компьютере. P.S. Не надо сравнивать 32- и 64-разрядные системы напрямую - сохранение (ограниченной) обратной совместимости оно тоже не бесплатное. Ну и лобовые экстаполяции - очень вредно: появляются дебильные темы про векторы из триллиона элементов и такие же вопросы про эффективность их кэширования. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.08.2020, 18:06 |
|
vector на триллион объектов
|
|||
---|---|---|---|
#18+
Т.е., у нас есть как минимум: 1. физическая память 2. адресное пространство ОС 3. адресное пространство конкретного процесса вот я и не понимаю, как "фрагментация" 1 и 2, может помешать выделить большой кусок памяти для/в 3-ем. Т.к. "маппинг" осуществляется с гранулярностью одна страница и проблемы "одним куском" быть не должно в принципе IMHO ... |
|||
:
Нравится:
Не нравится:
|
|||
21.08.2020, 18:06 |
|
vector на триллион объектов
|
|||
---|---|---|---|
#18+
Leonid Kudryavtsev вот я и не понимаю, как "фрагментация" 1 и 2, может помешать выделить большой кусок памяти для/в 3-ем. Просто потому, что "пойдя на принцип" не получится задействовать глобальные страницы, которые только и могут "пережить" смену карты памяти при переключении с одного процесса на другой. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.08.2020, 18:11 |
|
vector на триллион объектов
|
|||
---|---|---|---|
#18+
Basil A. Sidorov в лучшем - в пределах 1700MiB 1700 heap + код JVM + стеки для потоков + PermGet + 64 Mb для JIT ... |
|||
:
Нравится:
Не нравится:
|
|||
21.08.2020, 18:11 |
|
vector на триллион объектов
|
|||
---|---|---|---|
#18+
Basil A. Sidorov Thanks ... |
|||
:
Нравится:
Не нравится:
|
|||
21.08.2020, 18:14 |
|
vector на триллион объектов
|
|||
---|---|---|---|
#18+
Leonid Kudryavtsev 1700 heap + код JVM + стеки для потоков + PermGet + 64 Mb для JIT Не факт, что произвольный 32-разрядный бинарь будет правильно работать с этим флагом, когда реально "залезет" за второй гигабайт, но, в теории, можно запросить почти 4ГБ. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.08.2020, 18:15 |
|
vector на триллион объектов
|
|||
---|---|---|---|
#18+
в 1 Gb Linux (Free AWS instance) я вообще Java 1.9 запустить не смог. Не разобрался, как non heap memory уменьшить. Плюнул и поставил 1.8 ))) Вроде в пределе для 32 битного приложения в Windows доступно до 3 Gb. AFAIK ... |
|||
:
Нравится:
Не нравится:
|
|||
21.08.2020, 18:19 |
|
vector на триллион объектов
|
|||
---|---|---|---|
#18+
Leonid Kudryavtsev Вроде в пределе для 32 битного приложения в Windows доступно до 3 Gb. AFAIK ... |
|||
:
Нравится:
Не нравится:
|
|||
21.08.2020, 18:26 |
|
vector на триллион объектов
|
|||
---|---|---|---|
#18+
Leonid Kudryavtsevвот я и не понимаю, как "фрагментация" 1 и 2, может помешать выделить большой кусок памяти для/в 3-ем. Фрагментация как раз происходит в 3-м, о первом и втором можно просто забыть. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
21.08.2020, 18:28 |
|
vector на триллион объектов
|
|||
---|---|---|---|
#18+
Leonid Kudryavtsev mayton Обычно расчитывают и выделяют minimal footprint (Xms). А Xmx уже указывает потенциально возможный размер до которого можно расти. Это хорошая практика для управления ресурсами.... IMHO это как раз таки дебильная практика для управления ресурсов нормальная это Xms = Xmx Double IMHO У тебя в профиле виден Oracle. Тогда ты наверное помнишь что такое initial extent для таблиц. Ps. Тоже имхо. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.08.2020, 18:40 |
|
vector на триллион объектов
|
|||
---|---|---|---|
#18+
mayton Тут как раз наоборот. Таблица может расти - это ее нормальное поведение. Но "расти" для работающего __серверного__ приложение - что-то не то в консерватории или memory leak. Выделять ресурсов для серверного приложения нужно ровно столько, сколько ему необходимо. Если сервер выделенный (в оптимале) то выделять всю память. Это как покупать выделенный сервер с 32 Гб оперативной памяти для Oracle и заставлять Oracle работать в 1 Gb памяти, а остальное оставить на всякий случай для OS / админа. В ситуации с микро-сервисами не лучше. Т.к. Java более-менее хорошо умеет добавлять память к Heap из свободной памяти ОС, а вот освобождать ее она не очень любит. Это поведение можно поменять ключами, но вот лично я, трогать данные настройки побоялся бы. IMHO для __серверов__ единственное вменяемое решение a) Xms=Xmx b) ни или Xms в рабочий объем + завышенный Xmx на всякий случай (который никогда не достигается) с информированием службы поддержки о сбое сервера (memory leak) и необходимости его ребута. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.08.2020, 18:48 |
|
vector на триллион объектов
|
|||
---|---|---|---|
#18+
А других конфигураций не бывает? Девелоперские. Тестовые. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.08.2020, 19:05 |
|
vector на триллион объектов
|
|||
---|---|---|---|
#18+
это вы щас обсуждаете яву, которая работает с памятью через жопу? ... |
|||
:
Нравится:
Не нравится:
|
|||
21.08.2020, 19:20 |
|
vector на триллион объектов
|
|||
---|---|---|---|
#18+
Алексей Роза 2020, ты чего злой такой? Пятница-же. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.08.2020, 23:20 |
|
vector на триллион объектов
|
|||
---|---|---|---|
#18+
просто вопрос, где злой интересно же, чего там ява выделить не может, а C++ может ... |
|||
:
Нравится:
Не нравится:
|
|||
22.08.2020, 07:04 |
|
vector на триллион объектов
|
|||
---|---|---|---|
#18+
Она использует те-же функции ядра при создании heap/metaspace. Баг нужно воспроизвести. И тогда будет повод поговорить. Ты можешь его воспроизвести? ... |
|||
:
Нравится:
Не нравится:
|
|||
22.08.2020, 08:32 |
|
vector на триллион объектов
|
|||
---|---|---|---|
#18+
я с явой не работаю. а зачем баг явы в векторе на триллион объектов? ... |
|||
:
Нравится:
Не нравится:
|
|||
22.08.2020, 10:10 |
|
vector на триллион объектов
|
|||
---|---|---|---|
#18+
Это к Леониду. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.08.2020, 11:02 |
|
vector на триллион объектов
|
|||
---|---|---|---|
#18+
Алексей Роза 2020 а зачем баг явы ... |
|||
:
Нравится:
Не нравится:
|
|||
22.08.2020, 11:48 |
|
vector на триллион объектов
|
|||
---|---|---|---|
#18+
Вообще бремя доказательства - на утверждающем. Не будем искусственно высасывать баги из пальца. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.08.2020, 11:59 |
|
vector на триллион объектов
|
|||
---|---|---|---|
#18+
ну ладно, а на вектор то памяти дадут в линухе? ... |
|||
:
Нравится:
Не нравится:
|
|||
22.08.2020, 12:53 |
|
vector на триллион объектов
|
|||
---|---|---|---|
#18+
Хз. Надо уйти от триллиона объектов и заменить на что то измеримое. Я не помню чему у тебя там был равен 1 штук . ... |
|||
:
Нравится:
Не нравится:
|
|||
22.08.2020, 13:24 |
|
vector на триллион объектов
|
|||
---|---|---|---|
#18+
Алексей Роза 2020 это вы щас обсуждаете яву, которая работает с памятью через жопу? ... |
|||
:
Нравится:
Не нравится:
|
|||
22.08.2020, 15:21 |
|
vector на триллион объектов
|
|||
---|---|---|---|
#18+
В вопросе есть несколько смыслов. 1) Хардверный смысл. Не вся разрядная сетка указателя используется. 64 бита там может быть. Но текущая аппаратура - не позволит. Например у меня сведенья о CPU содержат вот такой комментарий: Код: plaintext 1.
у вас - возможно - цифры будут другие. Но тоже там далеко до 64 будет. 2) Точка зрения ОС на выделение памяти. Что считать выделением? malloc - выделение? realloc? А может быть mmap? Нам достаточно отображения куска памяти на файл чтобы решить задачу Алексея? Или что такое вообще НЕПРЕРЫВНЫЙ кусок памяти в современных ОС со страничной адресацией? Это метафора? 3) Опции STD::vector. Что он делает при пере-аллокации? Не упадём-ли мы не от нехватки памяти а от самого процесса перераспределения? Это как в анекдоте где больной умер от процесса лечения. 4) Собственно алгоритмизация. Зачем Алексею триллион объектов? Какой такой алгоритм не может быть решен меньшими ресурсами? Почему этот триллион нельзя положить РСУБД или в NoSQL систему. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.08.2020, 15:45 |
|
vector на триллион объектов
|
|||
---|---|---|---|
#18+
maytonИли что такое вообще НЕПРЕРЫВНЫЙ кусок памяти в современных ОС со страничной адресацией? Непрерывный диапазон адресов в виртуальном адресном пространстве процесса. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
22.08.2020, 16:27 |
|
vector на триллион объектов
|
|||
---|---|---|---|
#18+
mayton Хз. Надо уйти от триллиона объектов и заменить на что то измеримое. Я не помню чему у тебя там был равен 1 штук . хм, а указатели на другие структуры считать? скажем, 100 байт. триллиона конечно не будет, это с запасом. В перспективе ярд. Но на диск конечно надо будет скидывать. А грузить только активных. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.08.2020, 17:03 |
|
vector на триллион объектов
|
|||
---|---|---|---|
#18+
Давай взглянем с точки зрения strace и операционной системы. Что она видит. Я упростил задачу. До 100 байтных объектов в количестве триллион мы еще дойдем. Пока выделим 1 000 000 целых чисел в векторе. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18.
Трассировка системных вызовов. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24.
И здесь некоторые сведения о версии компиллятора и платформе что я использовал. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8.
stdout без трассировки Код: plaintext 1. 2. 3. 4.
Кто готов прокомментировать? ... |
|||
:
Нравится:
Не нравится:
|
|||
22.08.2020, 18:19 |
|
vector на триллион объектов
|
|||
---|---|---|---|
#18+
Алексей Роза 2020 mayton Хз. Надо уйти от триллиона объектов и заменить на что то измеримое. Я не помню чему у тебя там был равен 1 штук . хм, а указатели на другие структуры считать? скажем, 100 байт. триллиона конечно не будет, это с запасом. В перспективе ярд. Но на диск конечно надо будет скидывать. А грузить только активных. Сколько активных и почему так много? ... |
|||
:
Нравится:
Не нравится:
|
|||
22.08.2020, 21:48 |
|
vector на триллион объектов
|
|||
---|---|---|---|
#18+
да надо закладываться на максимум вдруг ВСЕ станут активными скидывать на диск надо просто потому, что память ведь иногда перезагружать придётся ну и соот-но можно и активность мониторить ... |
|||
:
Нравится:
Не нравится:
|
|||
22.08.2020, 22:50 |
|
vector на триллион объектов
|
|||
---|---|---|---|
#18+
mayton Кто готов прокомментировать? вроде вектор заполняем, а на деле какие-то файлы мапятся в память... ... |
|||
:
Нравится:
Не нравится:
|
|||
22.08.2020, 22:55 |
|
vector на триллион объектов
|
|||
---|---|---|---|
#18+
Алексей Роза 2020 да надо закладываться на максимум вдруг ВСЕ станут активными скидывать на диск надо просто потому, что память ведь иногда перезагружать придётся ну и соот-но можно и активность мониторить Я тебя разочарую. Ограничения в системах есть ВСЕГДА. Это не искусственный интеллект. - сами по себе все активными не станут. Ты программист или кто? В очередь не можешь поставить? Вычислить потребные мощности не можешь? Что за детское "вдруг"? ... |
|||
:
Нравится:
Не нравится:
|
|||
22.08.2020, 23:04 |
|
vector на триллион объектов
|
|||
---|---|---|---|
#18+
Если посмотреть на эти цифры - то видно как второй аргумент функции mmap растет по эспоненте. Это похоже на рост нашего тела вектора. Вот тут пишут что 2 аргумент - это есть length. Тоесть фактически это длина нашего вектора. https://man7.org/linux/man-pages/man2/mmap.2.html Сначало он 132 килобайта. Потом 260 и так далее. Я так себе понимаю что это и есть квантовая механика realloc. Просто операционка это видит как игры с маппингом на файл с дескриптором -1. При успехе - возвращает адрес аллокации. Видно что с каждым растягиванием вектора этот адрес изменяется. Код: plaintext 1. 2. 3. 4. 5. 6.
Между этими вызовами стоит m-unmap. Это инвалидация предыдущего маппинга. Вот такой вот low-level взгляд. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.08.2020, 23:14 |
|
vector на триллион объектов
|
|||
---|---|---|---|
#18+
PetroNotC Sharp Алексей Роза 2020 да надо закладываться на максимум вдруг ВСЕ станут активными скидывать на диск надо просто потому, что память ведь иногда перезагружать придётся ну и соот-но можно и активность мониторить Я тебя разочарую. Ограничения в системах есть ВСЕГДА. Это не искусственный интеллект. - сами по себе все активными не станут. Ты программист или кто? В очередь не можешь поставить? Вычислить потребные мощности не можешь? Что за детское "вдруг"? Ой милай, расскажи это юзерам. Не хотят в очереди стоять, падлы, уходят к конкуренту и тут жи про тибя забывают нафсигда Намучался я с ними, может ты их образумишь, нупажалуста? mayton Просто операционка это видит как игры с маппингом на файл с дескриптором -1. в смысле "видит", я думал это то, что она делает. Зачем писать mmap, если там malloc/realloc? ... |
|||
:
Нравится:
Не нравится:
|
|||
23.08.2020, 06:24 |
|
vector на триллион объектов
|
|||
---|---|---|---|
#18+
А я и не говорю что надо писать mmap. Мы просто наблюдаем что делает ос чтобы понять свойства этой аллокаций. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.08.2020, 07:37 |
|
vector на триллион объектов
|
|||
---|---|---|---|
#18+
но почему ОС назвала это mmap? ... |
|||
:
Нравится:
Не нравится:
|
|||
23.08.2020, 10:48 |
|
vector на триллион объектов
|
|||
---|---|---|---|
#18+
Возможно malloc/realloc просто по стеку вызывают mmap/munmap а утилита стрейс просто показывает последнюю точку стека которую видит ядро. Тоесть ядро не видит никакого malloc. А видит игры с мемори маппином. А этот загадочный дескриптор -1. Хм... возможно имеется в виду swap. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.08.2020, 10:52 |
|
vector на триллион объектов
|
|||
---|---|---|---|
#18+
Есть у меня еще мысль. Хочу файловый API проверить. Есть подозрение что если явно не требовать DIRECT от операционки то мне опять-же предоставят memory-mapping. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.08.2020, 11:45 |
|
vector на триллион объектов
|
|||
---|---|---|---|
#18+
Алексей Роза 2020, То есть ОЧЕРЕДИ как например fifo lifo это юзверя в масках в очереди стоят? ))) ... |
|||
:
Нравится:
Не нравится:
|
|||
23.08.2020, 17:28 |
|
vector на триллион объектов
|
|||
---|---|---|---|
#18+
Теперь выделим триллион целых чисел с использованием вектора. А то эксперимент какой-то неполный. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13.
Пока - провал. Неповезло. Код: plaintext 1. 2. 3. 4. 5.
Что в этот момент видел strace. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14.
Он пытался аллоцировать 4 000 000 004 096 байт или один триллион целых чисел с хвостиком. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.08.2020, 17:40 |
|
vector на триллион объектов
|
|||
---|---|---|---|
#18+
Моя конфигурация по памяти. Обычно плавает. Но после старта ОС она такая (размерность цифр - в Мегабайтах) Код: plaintext 1. 2. 3. 4.
... |
|||
:
Нравится:
Не нравится:
|
|||
23.08.2020, 17:45 |
|
vector на триллион объектов
|
|||
---|---|---|---|
#18+
Алексей. Попробуй это в своей конфигурации и скажи что у тебя получилось. Какой код ошибки? ... |
|||
:
Нравится:
Не нравится:
|
|||
23.08.2020, 17:56 |
|
vector на триллион объектов
|
|||
---|---|---|---|
#18+
mayton, откуда у тебя 4 терабайта, ты што?! написано же 14 гегофф... и у меня их тоже нет, прикинь! ... |
|||
:
Нравится:
Не нравится:
|
|||
23.08.2020, 18:04 |
|
vector на триллион объектов
|
|||
---|---|---|---|
#18+
Алексей Роза 2020 mayton, откуда у тебя 4 терабайта, ты што?! написано же 14 гегофф... и у меня их тоже нет, прикинь! Купишь себе Seagate на 16 терабайт (ST16000VE000) и нормально выделишь. Или ты уже сдался? ... |
|||
:
Нравится:
Не нравится:
|
|||
23.08.2020, 18:08 |
|
vector на триллион объектов
|
|||
---|---|---|---|
#18+
PetroNotC Sharp Алексей Роза 2020, То есть ОЧЕРЕДИ как например fifo lifo это юзверя в масках в очереди стоят? ))) да не знаю я кто на ком стоит там у тебя Я работаю с живыми юзерами mayton Купишь себе Seagate на 16 терабайт (ST16000VE000) и нормально выделишь. я чё псих?! ... |
|||
:
Нравится:
Не нравится:
|
|||
23.08.2020, 19:03 |
|
vector на триллион объектов
|
|||
---|---|---|---|
#18+
Алексей Роза 2020я чё псих?! Да. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
23.08.2020, 19:11 |
|
vector на триллион объектов
|
|||
---|---|---|---|
#18+
Алексей Роза 2020 mayton Купишь себе Seagate на 16 терабайт (ST16000VE000) и нормально выделишь. я чё псих?! Ну твой топик? ... |
|||
:
Нравится:
Не нравится:
|
|||
23.08.2020, 19:11 |
|
vector на триллион объектов
|
|||
---|---|---|---|
#18+
Алексей Роза 2020, Все понятно. Менеджер. Работает с живыми людьми. Слово очередь вызывает панику. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.08.2020, 20:09 |
|
vector на триллион объектов
|
|||
---|---|---|---|
#18+
Для Алексеевских 100-байтных объектов в количестве триллиона нам понадобиться места Код: plaintext 1.
В базу данных - нормально влезет. А вот в memory-mapping. Надо подумать. Для сборки таково файла поверх файловых систем я-бы предложил использовать файловый пул zfs на Segate-овских дисках по 16 Гб в количестве 6 штук. Из них можно собрать 1 volume. И на него отобразить выделяемый вектор. Ну или в btfrs. Модная нынче и более быстрая чем zfs. Субъективно. Правда действующие ограничения остаются под вопросом. Мои 43 бит адресной шины. На что повлияют? Будут ли мешать работе с маппингом? Так по формуле вроде могу адресовать 8 терабайт оперативы. Код: plaintext 1. 2. 3.
Слотов конечно не хватит но тут дело принципиальное. Почему задача Алексея меня заинтересовала? И казалось бы ему самому она уже сто лет в буй не впилась. Но я вижу в этом во первых - технический челлендж. А во вторых обзор программно-аппаратных возможностей нашего железа и софта. А технические вызовы мне всегда были интересны. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.08.2020, 21:12 |
|
vector на триллион объектов
|
|||
---|---|---|---|
#18+
maytonМои 43 бит адресной шины. На что повлияют? На предельный размер физического ОЗУ. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
23.08.2020, 21:16 |
|
vector на триллион объектов
|
|||
---|---|---|---|
#18+
PetroNotC Sharp Алексей Роза 2020, Все понятно. Менеджер. Работает с живыми людьми. Слово очередь вызывает панику. да нихера тебе не понятно чё ты пристал со своими очередями на я те по другому скажу PetroNotC Sharp В очередь не можешь поставить? нет. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.08.2020, 21:26 |
|
vector на триллион объектов
|
|||
---|---|---|---|
#18+
mayton Ну твой топик? ну он не про то, как на диске 16 терабайт памяти делать даже от SSD отговорили, а ты тут вообще блины советуешь. mayton Для сборки таково файла поверх файловых систем я-бы предложил использовать файловый пул zfs на Segate-овских дисках по 16 Гб в количестве 6 штук. Из них можно собрать 1 volume. И на него отобразить выделяемый вектор. всё, стоп, астанавись! Я не про это тему делал. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.08.2020, 21:30 |
|
vector на триллион объектов
|
|||
---|---|---|---|
#18+
mayton И казалось бы ему самому она уже сто лет в буй не впилась. Задача всё так же актуальна. Только вектор чуть поменьше стал (на 1000 порядков). И его частично можно хранить на диске (тех кто не нужен). ... |
|||
:
Нравится:
Не нравится:
|
|||
23.08.2020, 21:33 |
|
vector на триллион объектов
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakov Алексей Роза 2020я чё псих?! Да. Да, но не настолько. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.08.2020, 21:37 |
|
vector на триллион объектов
|
|||
---|---|---|---|
#18+
Алексей Роза 2020 PetroNotC Sharp Алексей Роза 2020, Все понятно. Менеджер. Работает с живыми людьми. Слово очередь вызывает панику. да нихера тебе не понятно чё ты пристал со своими очередями на я те по другому скажу PetroNotC Sharp В очередь не можешь поставить? нет. Другое дело. А то включил дурака, что сбрасываем на диск, но нужны одновременно все))) ... |
|||
:
Нравится:
Не нравится:
|
|||
23.08.2020, 22:07 |
|
vector на триллион объектов
|
|||
---|---|---|---|
#18+
Код: plaintext 1.
а я думаю, если не ограничиваться одной машиной и вместо вектора использовать структуру, которая не требует выделения памяти одним непрерывным куском, то я думаю на Unix/Linux вполне можно решить задачу Алексея, и вообще все сделать на уровне оперативная память + swap ... |
|||
:
Нравится:
Не нравится:
|
|||
23.08.2020, 23:25 |
|
vector на триллион объектов
|
|||
---|---|---|---|
#18+
Естессно можно. Распределённое хранение и обработка не этим ли занимается? Как всегда нужно сначала озвучить желаемые обоснованные ТТХ. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.08.2020, 23:33 |
|
vector на триллион объектов
|
|||
---|---|---|---|
#18+
mini.weblab вместо вектора использовать структуру это как? ... |
|||
:
Нравится:
Не нравится:
|
|||
24.08.2020, 06:57 |
|
vector на триллион объектов
|
|||
---|---|---|---|
#18+
PetroNotC Sharp Алексей Роза 2020 пропущено... да нихера тебе не понятно чё ты пристал со своими очередями на я те по другому скажу пропущено... нет. Другое дело. А то включил дурака, что сбрасываем на диск, но нужны одновременно все))) Если юзер пользуется твоим сервисом, в какую ты его очередь собрался пихать? В БД миллиард юзеров и всегда есть шанс, что они все одновременно зайдут попользоваться. Но чаще конечно будут провалы от суток и более - вот таких можно на диск скинуть. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.08.2020, 11:56 |
|
vector на триллион объектов
|
|||
---|---|---|---|
#18+
Алексей Роза 2020 В БД миллиард юзеров и всегда есть шанс, что они все одновременно зайдут попользоваться. Цукерберг, Вы уже спалились!!! Никогда не знал, что на этом форуме такие люди тусуются. Поговори за меня с отделом кадров, я в Файсбуке работать хочу, please ... |
|||
:
Нравится:
Не нравится:
|
|||
24.08.2020, 12:15 |
|
vector на триллион объектов
|
|||
---|---|---|---|
#18+
Триллион сущностей (даже целых числел) очень трудно обработать на классической архитектуре где есть 1 вычислительный узел (8-12 CPU). Даже при максимальном числе потоков и при двух-канальной памяти они начнут неизбежно конкурировать за память и большую часть времени мы будем стоять в ожиданиях доступа к каналу памяти. Частично это решается через map-reduce при условии что данные уже стали историческими и у нас есть хороший прогноз по разделению всего объема по нодам. Для OLTP транзакций подобная система - вообще не мыслима. Если допустим что каждая сущность это физ-лицо. А всех людей на планете Земля не больше 8 миллиардов. То эта база будет все равно на два порядка меньше чем то что хотел в началае Алексей. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.08.2020, 12:51 |
|
vector на триллион объектов
|
|||
---|---|---|---|
#18+
Алексей Роза 2020, Триллион,.... Миллиард.... А на самом деле даже записную книжку не писал? Термины то все не инженерные). автори всегда есть шанс, что они все одновременно зайдут попользоваться Неужели в ТЗ бизнес аналитик так слово в слово и написал?))) ... |
|||
:
Нравится:
Не нравится:
|
|||
24.08.2020, 12:53 |
|
vector на триллион объектов
|
|||
---|---|---|---|
#18+
Алексей Роза 2020Если юзер пользуется твоим сервисом, в какую ты его очередь собрался пихать? В БД миллиард юзеров и всегда есть шанс, что они все одновременно зайдут попользоваться. Зачем их пихать в очередь? Пришёл - тут же обслужился. ФОТ не ограничен, дополнительных рабочих можно создать по потребности в любой момент. Миллиард пользователей встанут в очередь у своего провайдера, просто чтобы пакетик отправить, а это уже не наша забота. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
24.08.2020, 13:19 |
|
vector на триллион объектов
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakov Зачем их пихать в очередь? не знаю, это вон там тролли детсадовские вылезли, очередь им подавай. Наша забота, чтобы все активные были в памяти. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.08.2020, 14:01 |
|
vector на триллион объектов
|
|||
---|---|---|---|
#18+
mayton Триллион сущностей (даже целых числел) очень трудно обработать на классической архитектуре, где есть 1 вычислительный узел (8-12 CPU). Даже при максимальном числе потоков и при двух-канальной памяти они начнут неизбежно конкурировать за память и большую часть времени мы будем стоять в ожиданиях доступа к каналу памяти. как же живут системы с 1'000'000 rps? ... |
|||
:
Нравится:
Не нравится:
|
|||
24.08.2020, 14:03 |
|
vector на триллион объектов
|
|||
---|---|---|---|
#18+
Leonid Kudryavtsev Алексей Роза 2020 В БД миллиард юзеров и всегда есть шанс, что они все одновременно зайдут попользоваться. Цукерберг, Вы уже спалились!!! Никогда не знал, что на этом форуме такие люди тусуются. Поговори за меня с отделом кадров, я в Файсбуке работать хочу, please спешу тебя расстроить, это не тот случай, когда преждевременная оптимизация вышла из берегов и пролила гигабаксы в трубу. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.08.2020, 14:04 |
|
vector на триллион объектов
|
|||
---|---|---|---|
#18+
Алексей Роза 2020, авторrps Появилось первое инженерное слово) ... |
|||
:
Нравится:
Не нравится:
|
|||
24.08.2020, 14:17 |
|
vector на триллион объектов
|
|||
---|---|---|---|
#18+
Алексей Роза 2020 mayton Триллион сущностей (даже целых числел) очень трудно обработать на классической архитектуре, где есть 1 вычислительный узел (8-12 CPU). Даже при максимальном числе потоков и при двух-канальной памяти они начнут неизбежно конкурировать за память и большую часть времени мы будем стоять в ожиданиях доступа к каналу памяти. как же живут системы с 1'000'000 rps? Они децентрализованные. А цифра - просто суммарная пропускная способность узлов. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.08.2020, 14:17 |
|
vector на триллион объектов
|
|||
---|---|---|---|
#18+
Алексей Роза 2020 Dimitry Sibiryakov Зачем их пихать в очередь? не знаю, это вон там тролли детсадовские вылезли, очередь им подавай. Наша забота, чтобы все активные были в памяти. А вектор и упорядоченные списки это не очередь). Ну да. Вы же очередь живьём представляете. Из юзверей. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.08.2020, 14:22 |
|
vector на триллион объектов
|
|||
---|---|---|---|
#18+
Алексей Роза 2020Наша забота, чтобы все активные были в памяти. Пока миллиардный станет активным - первый не просто отключится, а давно умрёт. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
24.08.2020, 14:27 |
|
vector на триллион объектов
|
|||
---|---|---|---|
#18+
PetroNotC Sharp Алексей Роза 2020 пропущено... не знаю, это вон там тролли детсадовские вылезли, очередь им подавай. Наша забота, чтобы все активные были в памяти. А вектор и упорядоченные списки это не очередь). Ну да. Вы же очередь живьём представляете. Из юзверей. вектор - это и есть юзеры. тебе пора уже валить из моей темы и заняться своей диссертацией по IT это всё таки не тролльский детсад. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.08.2020, 15:01 |
|
vector на триллион объектов
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakov Алексей Роза 2020Наша забота, чтобы все активные были в памяти. Пока миллиардный станет активным - первый не просто отключится, а давно умрёт. А для БД это не важно. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.08.2020, 15:02 |
|
vector на триллион объектов
|
|||
---|---|---|---|
#18+
mayton Алексей Роза 2020 пропущено... как же живут системы с 1'000'000 rps? Они децентрализованные. А цифра - просто суммарная пропускная способность узлов. нуу, это скучно. куда это подевался твой пятничный дух... ... |
|||
:
Нравится:
Не нравится:
|
|||
24.08.2020, 15:03 |
|
vector на триллион объектов
|
|||
---|---|---|---|
#18+
Алексей Роза 2020 mayton пропущено... Они децентрализованные. А цифра - просто суммарная пропускная способность узлов. нуу, это скучно. куда это подевался твой пятничный дух... Хорошо. Давай порассуждаем что такое 1'000'000 rps? Ты можешь сейчас (без заглядывания в вики) просто сказать как ты это понял? Очевидно что это некая скорость. Каких-то попугаев в секунду. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.08.2020, 15:11 |
|
vector на триллион объектов
|
|||
---|---|---|---|
#18+
Алексей Роза 2020А для БД это не важно. Вот именно. Поэтому используй БД, а не вектор и будет тебе счастье. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
24.08.2020, 15:11 |
|
vector на триллион объектов
|
|||
---|---|---|---|
#18+
Алексей Роза 2020, Неа. Вся тема трольский детсад. Уже все отписались. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.08.2020, 15:22 |
|
vector на триллион объектов
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakov Алексей Роза 2020А для БД это не важно. Вот именно. Поэтому используй БД, а не вектор и будет тебе счастье. может ещё на ветку залезть? это не счастье, а ненависть ко всему IT. mayton что такое 1'000'000 rps? 1 лям попугаев ломятся на сервак mayton просто сказать как ты это понял? что понял? Забей, хрен с ними с попугаями, до них ещё дожить надо. Они потенциально есть, но не на первом месте. Ты говоришь, что есть некий предел, когда всё умрёт... этот предел выражается в занятой памяти (при условии, что она не закончилась, но почему-то всё равно всё умрёт) или же в кол-ве подключений? ... |
|||
:
Нравится:
Не нравится:
|
|||
24.08.2020, 18:44 |
|
vector на триллион объектов
|
|||
---|---|---|---|
#18+
Алексей Роза 2020, Тема про веб что ли?) автор1 лям попугаев ломятся на сервак Угу. И все на одну страницу Контакты, которая выдается из кэша браузера))))). Ну или балансировщик впереди. Детский сад. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.08.2020, 19:56 |
|
vector на триллион объектов
|
|||
---|---|---|---|
#18+
почему ты ещё здесь? ... |
|||
:
Нравится:
Не нравится:
|
|||
24.08.2020, 21:51 |
|
vector на триллион объектов
|
|||
---|---|---|---|
#18+
Алексей Роза 2020, Попкорн взял. Сижу в первом ряду. Удобно. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.08.2020, 22:07 |
|
vector на триллион объектов
|
|||
---|---|---|---|
#18+
Какой попкорн ((( Я бухаю с горя ((( На нашем форуме оказывается Цукенберг обитает, а в профильных ветках даже никаких вакансий из Файсбука нет ((( Как жить дальше? ... |
|||
:
Нравится:
Не нравится:
|
|||
24.08.2020, 22:12 |
|
vector на триллион объектов
|
|||
---|---|---|---|
#18+
Leonid Kudryavtsev, Осторожней бухай. Он подсаживается к барной стойке и разводит клиентов на .....разговоры про триллионы, миллиарды и квадрилионы. Пока деньги не кончатся. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.08.2020, 22:22 |
|
vector на триллион объектов
|
|||
---|---|---|---|
#18+
Вся тема пиз#$% и провокация 1) Вектор на триллион в памяти - при отсутствие компьютера с терабайтом оперативной памяти 2) Миллиард пользователей - в российском форуме, где в стране общая численность населения 146 748 590 на 1 января 2020 года 3) Одновременно залогинились - при том, что 146 748 590 человек это с учетом младенцев и прочих нелогиноспособных категорий граждан и так далее ... |
|||
:
Нравится:
Не нравится:
|
|||
24.08.2020, 22:26 |
|
vector на триллион объектов
|
|||
---|---|---|---|
#18+
Leonid Kudryavtsev Какой попкорн ((( Я бухаю с горя ((( На нашем форуме оказывается Цукенберг обитает, а в профильных ветках даже никаких вакансий из Файсбука нет ((( Как жить дальше? Я как-то читал статью от парня, программиста, из Киева. В общем, он поставил себе цель уехать в Европу. После ВУЗ-а он нашёл работу в лондонском подразделении Фейсбука, даже Цукерберга видел в очереди в корпоративном кафе на обеде. Вы просто не делаете ничего. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.08.2020, 22:29 |
|
vector на триллион объектов
|
|||
---|---|---|---|
#18+
Алексей Роза 2020 Ты говоришь, что есть некий предел, когда всё умрёт... этот предел выражается в занятой памяти (при условии, что она не закончилась, но почему-то всё равно всё умрёт) или же в кол-ве подключений? Я не говорю что умрет. Просто надо помнить о законе Мура. Мы можем на борт поставить много памяти. Но мы не можем ПРОПОРЦИОНАЛЬНО гарантировать те-же вычислительные мощности. Тоже самое сеть. Лям пользователей ломануться на сервак? Это как? Один сетевой интерфес. Будь то 100Мегабит. 1Гигабит. И так далее. Это последовательное устройство. IP пакет пересекает границу сетевого интерфейса строго последовательно. Поэтому этот лям пользователей выстроится в очередь еще на дальних рубежах. Еще даже не дойдя до нашего сервера. Впрочем это слишком специфично к задаче и это надо обсуждать. Что этот лям хочет делать? Если он делает HTTP GET титульной странички - так это по другому решается. Поднимем 1000 региональных NGinx и каждый из них отработает 1000 соединений и даже не долетит до нашего аппликейшена. Если Лям пользователей делает лям бизнес переводов денег - то здесь узким местом может стать некий mutex, который контролирует sequence объект для всей системы. И он тоже работает строго последовательно. Любая финансовая операция требует последовательности. Хотябы для фиксации логов и SCN и метки времени для установления причинно-следственной связи. Пропускная способность гугла как такового может быть высокой. Но гугл - это не один сервак. Это грид. В этом можно убедиться просто пингуя его из разных географических регионов. И этот грид много-слойный. Есть отдельные слои mappers, reducers, слои хранения текстового индекса. Google сумел спроектировать свой грид так что у него нет этой единой точки конкуренции и всё работае параллельно в режиме PA (Partition-tolerance, Availability) по Брюеру. Консистентности нету. Но всем пофиг. От гугла не требуют консистетности между узлами. И от DNS тоже. У Твиттеров и Фейсбуков - скорее всего тоже единой консистентноси нет. У них - eventual consistency. Тоесть гарантируется что отправленное сообщение когда-то да будет доставлено получателю. Когда - точно неизвестно. Может через 10 милисекунд. Может чуть дольше. Как в JMS/MQ. Вобщем к чему я это все написал. Если надо сетапить такую толстую архитектуру. То надо чем-то жертвовать. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.08.2020, 22:47 |
|
vector на триллион объектов
|
|||
---|---|---|---|
#18+
PetroNotC Sharp Алексей Роза 2020, Попкорн взял. Сижу в первом ряду. Удобно. Зачем, ты что, ущербный? У тебя, судя по всему, прельстивая и насыщенная жизнь, полная смысла. А тут какую-то неведомую херню обсуждают, глупости и детский сад Что ты в детском саду делаешь? Ты что, педофил? Вбросы твои даже не улыбают. Ценности от твоей инфы никакой. Я эту тему создал не для тебя. От тебя мне ничего не надо. Уходи. Leonid Kudryavtsev 146 748 590 мелко плаваешь. Моя цель - Галактика. mayton Я не говорю что умрет. Просто надо помнить о законе Мура. Мы можем на борт поставить много памяти. Но мы не можем ПРОПОРЦИОНАЛЬНО гарантировать те-же вычислительные мощности. так фишка в том, что НЕ нужны такие мощности в моём случае. По проводу зайдёт лям в секунду. А вот как быстро ты их сможешь раскидать - ответ на вопрос "как обезьяна стала человеком". (провод, кстати, может быть и не один. Не обязательно их всех в одном проводе в очередь штабелями класть). mayton Поднимем 1000 региональных NGinx и каждый из них отработает 1000 соединений и даже не долетит до нашего аппликейшена. фу так делать ... |
|||
:
Нравится:
Не нравится:
|
|||
24.08.2020, 23:21 |
|
vector на триллион объектов
|
|||
---|---|---|---|
#18+
Алексей Роза 2020 так фишка в том, что НЕ нужны такие мощности в моём случае. По проводу зайдёт лям в секунду. А вот как быстро ты их сможешь раскидать - ответ на вопрос "как обезьяна стала человеком". (провод, кстати, может быть и не один. Не обязательно их всех в одном проводе в очередь штабелями класть). Ты хочешь лям в секунду ПРИНЯТЬ. Или обработать? Или обработать и выслать ответ? ... |
|||
:
Нравится:
Не нравится:
|
|||
24.08.2020, 23:33 |
|
vector на триллион объектов
|
|||
---|---|---|---|
#18+
Алексей Роза 2020, авторЯ эту тему создал не для тебя. От тебя мне ничего не надо. Уходи. Меня улыбает белая ворона, которую ни один чел в данном форуме не понял. Это же твои проблемы. Я когда топики тут начинаю, поскромнее себя веду. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.08.2020, 23:39 |
|
vector на триллион объектов
|
|||
---|---|---|---|
#18+
AFAIK слово "тема" в русском языке предполагает наличие хоть крупицы смысла. Если смысла нет, но называть множества нажатий на клавиатуре, которые где-то через сеть, превращаются в набор черточек и точечек на каком-то мониторе "темой" на мой взгляд странно Просто треп и флуд. Раз соответствующий подфорум удалили, то теперь такие темы можно заводить в любом месте. Моторику то тренировать где-то нужно (методом нажатия на кнопки на клавиатуре) ... |
|||
:
Нравится:
Не нравится:
|
|||
24.08.2020, 23:49 |
|
vector на триллион объектов
|
|||
---|---|---|---|
#18+
Алексей Роза 2020По проводу зайдёт лям в секунду. Не зайдёт. Даже по гигабиту - не пролезет чисто физически. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
25.08.2020, 00:39 |
|
vector на триллион объектов
|
|||
---|---|---|---|
#18+
PetroNotC Sharp Меня улыбает белая ворона, которую ни один чел в данном форуме не понял. А вот меня улыбает то, что ты за всех сразу говоришь. Называешь всё что не понял "детским садом" и ещё пытаешься троллить незнакомых людей. Молодо-зелено. mayton Алексей Роза 2020 так фишка в том, что НЕ нужны такие мощности в моём случае. По проводу зайдёт лям в секунду. А вот как быстро ты их сможешь раскидать - ответ на вопрос "как обезьяна стала человеком". (провод, кстати, может быть и не один. Не обязательно их всех в одном проводе в очередь штабелями класть). Ты хочешь лям в секунду ПРИНЯТЬ. Или обработать? Или обработать и выслать ответ? обработать и выслать. Dimitry Sibiryakov Алексей Роза 2020По проводу зайдёт лям в секунду. Не зайдёт. Даже по гигабиту - не пролезет чисто физически. расскажи это магистральщикам ) Гигабит же не предел. Leonid Kudryavtsev AFAIK слово "тема" в русском языке предполагает наличие хоть крупицы смысла. ну раз ты не допёр до смысла, то конечно осталось только флудить и оффтопить. Вот тут то смысл и появится. С - Смекалка. Нет чтоб посидеть молча, послушать, ума набраться. Да, я знаю, что ты дохера чего познал и вообще 20 лет кодишь. Но ты так и остался обычным прикладушником, работающим "с тем, что имеем". ... |
|||
:
Нравится:
Не нравится:
|
|||
25.08.2020, 12:43 |
|
vector на триллион объектов
|
|||
---|---|---|---|
#18+
Алексей Роза 2020, на самом деле у тебя ничего не получилось. Суть сей басни такова что ты просто пришел в этот форум искать ответы на вопросы. Если-б ты все знал - то зачем-бы вообще поднимал триллион объектов? Разве не так? ... |
|||
:
Нравится:
Не нравится:
|
|||
25.08.2020, 12:45 |
|
vector на триллион объектов
|
|||
---|---|---|---|
#18+
нет. Я делаю новое, неизведанное. (оно и вами то неизведанное, кстати) А тут я развиваю коллективный разум ... |
|||
:
Нравится:
Не нравится:
|
|||
25.08.2020, 12:48 |
|
vector на триллион объектов
|
|||
---|---|---|---|
#18+
Алексей Роза 2020расскажи это магистральщикам ) Гигабит же не предел. Это ты поинтересуйся у магистральщиков какое оборудование и технологии при этом задействованы. На этом фоне твой отказ от покупки винта будет совершенно смешным. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
25.08.2020, 12:53 |
|
vector на триллион объектов
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakov, дата-центры выдерживают DDOS-атаки в терабайты. нормально там всё пролазит, не волнуйся ) ... |
|||
:
Нравится:
Не нравится:
|
|||
25.08.2020, 12:54 |
|
vector на триллион объектов
|
|||
---|---|---|---|
#18+
Алексей Роза 2020, >А вот меня улыбает то, что ты за всех сразу говоришь. У меня нюх на странные топки от бездельников. Не может конкретная задача обсуждаться 13 страниц. ПТ. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.08.2020, 12:57 |
|
vector на триллион объектов
|
|||
---|---|---|---|
#18+
Ты ставишь знак == между простой проверкой типа если IP адрес такой-то - то DROP, и бизнес-логикой которая делает транзакции? ... |
|||
:
Нравится:
Не нравится:
|
|||
25.08.2020, 12:57 |
|
vector на триллион объектов
|
|||
---|---|---|---|
#18+
Алексей Роза 2020дата-центры выдерживают DDOS-атаки в терабайты. Это их PR отдел вешает лапшу на уши, а некоторые оптимисты ведутся... Но ты же технарь?.. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
25.08.2020, 13:05 |
|
vector на триллион объектов
|
|||
---|---|---|---|
#18+
У нас в топике идет сравнение грузовика и гоночного болида. С такими аналогиями мы далеко уедем. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.08.2020, 13:10 |
|
vector на триллион объектов
|
|||
---|---|---|---|
#18+
maytonУ нас в топике идет сравнение грузовика и гоночного болида. Нет, у нес в топике идёт кормление тупого тролля. И ехать никто никуда не собирается. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
25.08.2020, 13:12 |
|
vector на триллион объектов
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakov Алексей Роза 2020дата-центры выдерживают DDOS-атаки в терабайты. Это их PR отдел вешает лапшу на уши, а некоторые оптимисты ведутся... Но ты же технарь?.. Почему "лапшу"? Если дата центр существует несколько лет, то вполне мог терабайт DDOS-атак выдержит. Может вполне правду говорят. p.s. Если какой дата центр существует уже лет 20 (например с 2000 года) и постоянно подключен к сети по модему 2400 бод, то к сему моменту вполне тербайт бы прополз ))) даже без компрессии /вроде у модема 2400 скорость получается около 70 Gb в год)))/, а с учетом MNP5 компрессии в модеме, то вполне возможно, что и за 10 лет бы справился. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.08.2020, 13:46 |
|
vector на триллион объектов
|
|||
---|---|---|---|
#18+
Датацентр тоже децентрализован. И его характеристики пропускных способностей это тоже самое что "за 2019 год страна намолотила столько-то тонн пшеницы" . Такого-же порядка метрики. Вроде и большие - но решение не интенсивное а экстенсивное. Дурное дело - не хитрое. А где инженерная мысль? Где то самое за что дают премии? Где инновация? ... |
|||
:
Нравится:
Не нравится:
|
|||
25.08.2020, 14:18 |
|
vector на триллион объектов
|
|||
---|---|---|---|
#18+
mayton Ты ставишь знак == между простой проверкой типа если IP адрес такой-то - то DROP, и бизнес-логикой которая делает транзакции? ага, IP-адрес... у Arbor и Cisco есть оборудование на сотни $килов IP-адресы проверяет, да. Ты поизучай тему DDOS-а, она интересная Вопрос надо ставить иначе - КАК максимизировать скорость обработки этой самой транзакции. Dimitry Sibiryakov Это их PR отдел вешает лапшу на уши, а некоторые оптимисты ведутся... Но ты же технарь?.. да я то технарь, а ты кто? Я лично с DDOS-ом воевал, когда игровой сервер держал и заливали мне там всякого UDP-говна на гигабайты. А решал всё это именно ДЦ. А про Claudfire что скажешь? Про Qurator? Dimitry Sibiryakov кормление тупого тролля а впрочем, тоже на хер вали. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.08.2020, 15:39 |
|
vector на триллион объектов
|
|||
---|---|---|---|
#18+
Алексей Роза 2020 mayton Ты ставишь знак == между простой проверкой типа если IP адрес такой-то - то DROP, и бизнес-логикой которая делает транзакции? ага, IP-адрес... у Arbor и Cisco есть оборудование на сотни $килов IP-адресы проверяет, да. Ты поизучай тему DDOS-а, она интересная В чем тема DDOS для меня может быть интересной? Какие такие тайные знания или секретные алгоритмы там есть? Может твоя тема изначально имела отношение к embed software и ее имело смысл поднять не здесь а в Hardware или Unix? ... |
|||
:
Нравится:
Не нравится:
|
|||
25.08.2020, 15:56 |
|
vector на триллион объектов
|
|||
---|---|---|---|
#18+
Алексей Роза 2020А про Claudfire что скажешь? Только то, что их привычка "защищаться" выдавая страничку "подождите несколько секунд, мы вас проверяем на вшивость" это и есть "отказ в обслуживании" от которого они якобы и защищают. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
25.08.2020, 16:08 |
|
vector на триллион объектов
|
|||
---|---|---|---|
#18+
DDOS - это уровень школьников которые хотят шатать сайт правительства или президента пингами. И он вобщем-то валит не сайт а сетевой канал. Наиболее сложные и интересные атаки - это прикладной уровень. Там - еще не создали никаких внятных алгоритмов автоматической защиты. Вот там - интересно. Там - борьба брони и снаряда. Там криптография. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.08.2020, 16:21 |
|
vector на триллион объектов
|
|||
---|---|---|---|
#18+
Автор договорился до ручки. До DoS атак) ... |
|||
:
Нравится:
Не нравится:
|
|||
25.08.2020, 16:44 |
|
vector на триллион объектов
|
|||
---|---|---|---|
#18+
mayton В чем тема DDOS для меня может быть интересной? Какие такие тайные знания или секретные алгоритмы там есть? тем что там всё несколько серьёзнее, чем просто "сравнить IP". mayton DDOS - это уровень школьников которые хотят шатать сайт правительства или президента пингами. И он вобщем-то валит не сайт а сетевой канал. попинговать сайт - да, для школьников. Но это начальный уровень DDOS. И школьники не оперируют ботнетами. Существует 4 больших класса атак: 1. Bandwidth (канал) - здесь живут флуды большими пакетами, атаки типа amplification и reflection. 2. Infrastructure - атаки направленные на сетевую инфраструктуру - мозги которые обрабатывают пакеты и принимают решения куда их дальше отправить. Сюда входят высокоскоростные флуды мелкими пакетами, атаки на ре-фрагментацию, атаки на открытые внешнему миру control plane и всевозможные манипуляции с маршрутизацией (подмена, cache fanout) 3. TCP/IP stack - атаки на стек endpoint оборудования. Классический synflood, ackflood, игры с таймаутами и некорректными закрытиями соединений и, как ни странно, slowlorris. 4. L7 (Application layer) - все атаки в которых используются семантически законченные конструкции протокола приложения. Это самое сладкое - поскольку именно на этом уровне плечо атаки (соотношение ресурсов затраченных атакующим к ресурсам потребленным жертвой) может достигать астрономических величин. Ты затронул только 1. В общем на, развлекайся: ... |
|||
:
Нравится:
Не нравится:
|
|||
25.08.2020, 17:20 |
|
vector на триллион объектов
|
|||
---|---|---|---|
#18+
Стоп-стоп. Подожди. Я здесь вообще не для этого. Ты -- с должным уважением спрашиваешь свой вопрос. Форум С++ -- тебе отвечает. А играть в телевикторину я тебе не позволю. Не формат ибо. Задавай свой конкретный вопрос. По DDOS атакам применительно к С++ разработке. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.08.2020, 17:30 |
|
vector на триллион объектов
|
|||
---|---|---|---|
#18+
Алексей Роза 2020, > L7 (Application layer) - все атаки в которых используются семантически законченные конструкции протокола приложения. Угу. Еще добавь, прошедшие авторизацию. У тебя там не распил бабла случайно? ... |
|||
:
Нравится:
Не нравится:
|
|||
25.08.2020, 17:50 |
|
vector на триллион объектов
|
|||
---|---|---|---|
#18+
Алексей Роза 2020Вот именно, что L7 - самый вкусный. Ну а теперь давайте подождём, пока вы сложите 2 + "эта тема". Мы-то сложим, но результат будет для тебя неутешителен: твоё приложение либо страдает проблемой N+1, либо нет. В первом случае атака будет успешна, во втором - обломится. Так вот, сабж этой проблемой страдает в абсолютно явном виде и именно поэтому его обсуждение бесперспективно. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
25.08.2020, 18:14 |
|
vector на триллион объектов
|
|||
---|---|---|---|
#18+
mayton В чем тема DDOS для меня может быть интересной? ну как же? кто-то нам предлагал интеграционный проект "Привет Мир" (на С++) авторПри чем здесь OCI? Давай возьмем наугад 100 случайных библиотек в разных классах. Драйверы сетевых протколов. Клиенты. Вычислительные библиотеки. Поддержка веба. Криптография. Поддержка облаков типа Google/Amazon/Azure. И просто включим их в 1 проект. Интеграционная задача! По сути я прошу написать привет-мир который объединяет множество разного прикладного функционала. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.08.2020, 20:50 |
|
vector на триллион объектов
|
|||
---|---|---|---|
#18+
mini.weblab, Кончайте удаляться от темы топика - Вектор на триллион. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.08.2020, 22:06 |
|
vector на триллион объектов
|
|||
---|---|---|---|
#18+
Вроде скостили уже. Правда я не помню где было. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.08.2020, 22:08 |
|
vector на триллион объектов
|
|||
---|---|---|---|
#18+
mayton Форум С++ -- тебе отвечает. да видел я, что он отвечает mayton Не формат ибо. формат троллей и флуда. 13 страниц мне рассказывают, что тема говно... какие-то мыши, которые любят жрать кактусы. по 50000 набили и всё никак остановиться не могут. А говно я. mayton я тебе не позволю Зато позволяешь оскорблять людей и засирать тему. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.08.2020, 22:11 |
|
vector на триллион объектов
|
|||
---|---|---|---|
#18+
Не видел жалоб по кнопке. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.08.2020, 22:15 |
|
vector на триллион объектов
|
|||
---|---|---|---|
#18+
Нет. Я не про это. Леша писал там и триллион уже не надо. И объекты помельче чем 100 байт. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.08.2020, 22:54 |
|
|
start [/forum/topic.php?all=1&fid=57&tid=2017354]: |
0ms |
get settings: |
11ms |
get forum list: |
16ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
134ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
326ms |
get tp. blocked users: |
2ms |
others: | 13ms |
total: | 526ms |
0 / 0 |