powered by simpleCommunicator - 2.0.49     © 2025 Programmizd 02
Форумы / C++ [игнор отключен] [закрыт для гостей] / vector на триллион объектов
25 сообщений из 332, страница 2 из 14
vector на триллион объектов
    #39972563
mayton
Для старого магнитного
диска типа HDD время поиска любого сектора занимает в среднем 6 милисекунд.

а причём тут сектор? откуда БД знает, в каком секторе лежит нужная строка??
она сначала будет ВСЕ строки с диска в память тащить, а потом в них будет искать нужную.
это и называется "кеширование".
(и да, это я говорю про таблицу индексов щас)
...
Рейтинг: 0 / 0
vector на триллион объектов
    #39972564
Фотография Anatoly Moskovsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей Роза
а причём тут сектор? откуда БД знает, в каком секторе лежит нужная строка??
она сначала будет ВСЕ строки с диска в память тащить, а потом в них будет искать нужную.
это и называется "кеширование".

Про индексы слышали? ))
...
Рейтинг: 0 / 0
vector на триллион объектов
    #39972565
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей Роза,

>а причём тут сектор? откуда БД знает, в каком секторе лежит нужная строка??
По ключику вестимо
select vasja from... where id=123
...
Рейтинг: 0 / 0
vector на триллион объектов
    #39972566
PetroNotC Sharp
Алексей Роза,
>Чтобы найти рандомную, незакешированную строчку среди миллиардов, уйдёт несколько секунд.

По ключу? МИКРОсекунд.

это когда данные уже закешированы.
...
Рейтинг: 0 / 0
vector на триллион объектов
    #39972567
Anatoly Moskovsky
Алексей Роза
а причём тут сектор? откуда БД знает, в каком секторе лежит нужная строка??
она сначала будет ВСЕ строки с диска в память тащить, а потом в них будет искать нужную.
это и называется "кеширование".

Про индексы слышали? ))


кстати, в случае мейтоновского эксперимента она будет = исходной таблице.
...
Рейтинг: 0 / 0
vector на триллион объектов
    #39972568
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей Роза
PetroNotC Sharp
Алексей Роза,
>Чтобы найти рандомную, незакешированную строчку среди миллиардов, уйдёт несколько секунд.

По ключу? МИКРОсекунд.

это когда данные уже закешированы.

У тебя других слов кроме "кеширование" в лексиконе нет?

Кэш[1][2][3][4] или кеш[5][6][7] (англ. cache, от фр. cacher — «прятать»; произносится [kæʃ] — «кэш») — промежуточный буфер с быстрым доступом к нему, содержащий информацию, которая может быть запрошена с наибольшей вероятностью. Доступ к данным в кэше осуществляется быстрее, чем выборка исходных данных из более медленной памяти или удалённого источника, однако её объём существенно ограничен по сравнению с хранилищем исходных данных.
...
Рейтинг: 0 / 0
vector на триллион объектов
    #39972569
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей Роза,

Сначала построй правильную реляционную модель данных.
А потом задавай вопросы.
В модели данные не лежат без первичного ключа PK
...
Рейтинг: 0 / 0
vector на триллион объектов
    #39972570
booby
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вот какой подфорум, по предположительному качеству образования участников,
должен был бы быть лидером по количеству и чистоте бреда?
Кто бы мог подумать, что это...
...
Рейтинг: 0 / 0
vector на триллион объектов
    #39972571
PetroNotC Sharp, ты зачем мне всё это пишешь, кэп?
сначала научись не флудить водой, а потом приходи в мою тему.
PetroNotC Sharp
В модели данные не лежат без первичного ключа PK

поработай с базами данных плотно, может избавишь от своих розовых бредней.
bk0010
Посмотрите про In memory database (Exasol, MemSql). Может это то, что вам надо?

есть сравнение с той же редиской?
...
Рейтинг: 0 / 0
vector на триллион объектов
    #39972573
booby
Вот какой подфорум, по предположительному качеству образования участников,
должен был бы быть лидером по количеству и чистоте бреда?
Кто бы мог подумать, что это...

да не говори... в 2020 не знать, что RDBMS это мееееедленно... парадокс
...
Рейтинг: 0 / 0
vector на триллион объектов
    #39972579
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей Роза
booby
Вот какой подфорум, по предположительному качеству образования участников,
должен был бы быть лидером по количеству и чистоте бреда?
Кто бы мог подумать, что это...

да не говори... в 2020 не знать, что RDBMS это мееееедленно... парадокс

Вам "мееееедленно" или "в память не влазит триллион"…
Поэтому топик и есть бред.
...
Рейтинг: 0 / 0
vector на триллион объектов
    #39972583
PetroNotC Sharp
в память не влазит триллион

да научись ты уже читать!
я не спрашивал такое.
...
Рейтинг: 0 / 0
vector на триллион объектов
    #39972587
booby
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей Роза,

Леша, не тешь себя. Конечно, ты в этом форуме не самый знатный бредогенератор.
Волну гнать можешь, но нызенько...
...
Рейтинг: 0 / 0
vector на триллион объектов
    #39972600
booby
Алексей Роза,

Леша, не тешь себя. Конечно, ты в этом форуме не самый знатный бредогенератор.
Волну гнать можешь, но нызенько...

ты эту херню детсадовскую будешь писать, когда я к тебе в тему приду пофлудить.
А пока волну тут гонишь ты.
...
Рейтинг: 0 / 0
vector на триллион объектов
    #39972605
kolobok0
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Basil A. Sidorov,
...
Рейтинг: 0 / 0
vector на триллион объектов
    #39972627
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей Роза
PetroNotC Sharp
в память не влазит триллион

да научись ты уже читать!
я не спрашивал такое.

авторвопрос в сохранности, констистенции и скорости обработки...
Как то скупо ты вещаешь мил человек.
...
Рейтинг: 0 / 0
vector на триллион объектов
    #39972628
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей Роза
mayton
Для старого магнитного
диска типа HDD время поиска любого сектора занимает в среднем 6 милисекунд.

а причём тут сектор? откуда БД знает, в каком секторе лежит нужная строка??
она сначала будет ВСЕ строки с диска в память тащить, а потом в них будет искать нужную.
это и называется "кеширование".
(и да, это я говорю про таблицу индексов щас)

Нет. Бд не работает так как ты рассказываешь.
...
Рейтинг: 0 / 0
vector на триллион объектов
    #39972636
Barlone
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей Роза

а причём тут сектор? откуда БД знает, в каком секторе лежит нужная строка??
она сначала будет ВСЕ строки с диска в память тащить, а потом в них будет искать нужную.
это и называется "кеширование".
(и да, это я говорю про таблицу индексов щас)
https://ru.wikipedia.org/wiki/Двоичный_поиск
https://ru.wikipedia.org/wiki/B -дерево
...
Рейтинг: 0 / 0
vector на триллион объектов
    #39972648
PetroNotC Sharp
Как то скупо ты вещаешь мил человек.

Я вполне конкретно и чётко определил, что меня интересует
Алексей Роза
ни одна СУБД не умеет хорошо работать с данными, которые лежат на диске
да и когда в памяти миллиард строк, тоже тупит.

и нигде не говорил про то, что у меня памяти не хватает.
потому что такой проблемы у меня нет. Я знаю как её обойти.
Вы же начинаете сказки рассказывать про то, что в РДБМС всё чудесно и в любой момент там миллисекунды, загоняй данные туда.
Я более 10 лет работаю с РДБМС, хватило.
...
Рейтинг: 0 / 0
vector на триллион объектов
    #39972651
mayton
Нет. Бд не работает так как ты рассказываешь.

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

зы: миллисекунды - это кстати много.
...
Рейтинг: 0 / 0
vector на триллион объектов
    #39972652
Barlone, а чего только 2? Вываливай все индексы, зачем останавливаться...
...
Рейтинг: 0 / 0
vector на триллион объектов
    #39972654
petrav
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А как реализовывается индекс по строковому полю? Что хранится в бинарном дереве?
...
Рейтинг: 0 / 0
vector на триллион объектов
    #39972660
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей Роза
есть какие-то ограничения в практическом применении векторов?
если вектор вырастет до триллиона структур и будет постоянно висеть в памяти, есть ли какие-то риски?

То есть памяти хватает и ты в курсе как это решать?
Тогда никаких рисков. Работай.
...
Рейтинг: 0 / 0
vector на триллион объектов
    #39972666
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
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 индекс.
...
Рейтинг: 0 / 0
vector на триллион объектов
    #39972673
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton,
Ему нужен полнотекстовый поиск по триллиону строк?
Ему нужна СУБД если он сказал что память не проблема и вектор в нее влезет?
...
Рейтинг: 0 / 0
25 сообщений из 332, страница 2 из 14
Форумы / C++ [игнор отключен] [закрыт для гостей] / vector на триллион объектов
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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