powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / C++ [игнор отключен] [закрыт для гостей] / Какую БД выбрать?
25 сообщений из 76, страница 3 из 4
Какую БД выбрать?
    #39644347
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AlekseySQLПодготавливаю данные для последующего многократного чтения.

Из ОЗУ читать гораздо удобнее, чем с диска.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Какую БД выбрать?
    #39644366
AlekseySQL
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Изопропилзачем менять?
Ну будет PCI карта работать в режиме 2.0 с 4мя линиями

Нашел интересную статью о работе ssd- дисков в различных разъемах. Для меня важны именно последовательные операции (первый график). Там видно, что скорость диска в слоте PCI Express 2.0 останавливается на 1.2 ГБайт/сек(для диска, позволяющего работать на скорости 1.75 ГБайт/сек).

Как PCI Express 2.0 себя покажет для диска, работающего на 3.2 ГБайт/сек? Тоже ограничится скоростью 1.2 ГБайт/сек?
...
Рейтинг: 0 / 0
Какую БД выбрать?
    #39644390
rdb_dev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AlekseySQL, эффективность работы всей системы равна эффективности работы самого слабого её компонента.
...
Рейтинг: 0 / 0
Какую БД выбрать?
    #39644393
booby
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ИзопропилЗадача как обычно осталась за кадром

а как иначе оправдать немедленную замену железа?
не в алгоритмах же ковыряться.
только хардкор.
...
Рейтинг: 0 / 0
Какую БД выбрать?
    #39644424
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AlekseySQLИзопропилзачем менять?
Ну будет PCI карта работать в режиме 2.0 с 4мя линиями

Нашел интересную статью о работе ssd- дисков в различных разъемах. Для меня важны именно последовательные операции (первый график). Там видно, что скорость диска в слоте PCI Express 2.0 останавливается на 1.2 ГБайт/сек(для диска, позволяющего работать на скорости 1.75 ГБайт/сек).

Как PCI Express 2.0 себя покажет для диска, работающего на 3.2 ГБайт/сек? Тоже ограничится скоростью 1.2 ГБайт/сек?
Интересная статья. В железе современном мало копаюсь, думал все PCI Express`ы одинаковы, только линии добавляют, а оно оказалось сложнее устроено.

Сам недавно подумывал заменить свой SSD PCI-E 2.0 x2 на пошустрее. Но мне толку от него мало, т.к. все данные в оперативке кэшируются, поэтому пока отложил покупку.
...
Рейтинг: 0 / 0
Какую БД выбрать?
    #39644430
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AlekseySQLКак PCI Express 2.0 себя покажет для диска, работающего на 3.2 ГБайт/сек? Тоже ограничится скоростью 1.2 ГБайт/сек?
Думаю да, я так понял что 1.2 ГБайт/сек это предел PCI Express 2.0 x4
...
Рейтинг: 0 / 0
Какую БД выбрать?
    #39644444
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MasterZivИ твоё упрощённое пониманиеНе моё - не надо приписывать мне чужие грехи.

P.S.
- Вот ты помнишь, чему равен пресловутый синус сорока пяти?
- Корень из двух на два.
- И это тебе хоть раз пригодилось?
- Конечно. Ты спросил - я ответил.
...
Рейтинг: 0 / 0
Какую БД выбрать?
    #39644447
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Насколько мне изменяет склероз, линия PCI-Express - ~четверть гигабайта в секунду.

P.S. Погуглил. Не изменяет.
...
Рейтинг: 0 / 0
Какую БД выбрать?
    #39644455
AlekseySQL
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Basil A. SidorovНасколько мне изменяет склероз, линия PCI-Express - ~четверть гигабайта в секунду.

P.S. Погуглил. Не изменяет.

Это зависит от версии PCI Express: каждая новая версия примерно в 2 раза быстрее предыдущей. Так что по логике, если PCI Express 3.0 может передавать 3.2 ГБайта/сек (потому что есть такие диски), то PCI Express 2.0 должен позволять передавать 1.6 ГБайта/сек. Почему тогда в этой статье произошел затык на 1.2 Гбайт/сек- не понятно.
...
Рейтинг: 0 / 0
Какую БД выбрать?
    #39644460
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AlekseySQLЭто зависит от версии PCI ExpressЯ, вообще-то, привёл минимум.
Какой бы древней ни была версия PCI-Express, на четырёх линиях вам практически гарантировано ~800+ Мегабайт/сек.
...
Рейтинг: 0 / 0
Какую БД выбрать?
    #39644463
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AlekseySQLПочему тогда в этой статье произошел затык на 1.2 Гбайт/сек- не понятно.Даже через магистральный водопровод нельзя прокачать кубометр в секунду при помощи ручного насоса.

P.S.
У вас какие-то удивительно наивные представления.
Даже не знаю - огорчаться или улыбаться ...
...
Рейтинг: 0 / 0
Какую БД выбрать?
    #39644496
rdb_dev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Basil A. SidorovAlekseySQLПочему тогда в этой статье произошел затык на 1.2 Гбайт/сек- не понятно.Даже через магистральный водопровод нельзя прокачать кубометр в секунду при помощи ручного насоса.

P.S.
У вас какие-то удивительно наивные представления.
Даже не знаю - огорчаться или улыбаться ...Просто народ не понимает особенностей работы системной шины и конкурентного использования lane'ов (полос) последовательной (serial) шины PCI-E. Более того, некоторые до сих пор путают размер слота PCI-E с реально используемым в этом слоте количеством полос и мало кто задумывается о том, сколько реально полос у конкретного чипсета на материнской плате и хватит ли этих полос для коммутации всех необходимых им PCI-E устройств на максимуме их возможностей.
...
Рейтинг: 0 / 0
Какую БД выбрать?
    #39644515
AlekseySQL
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Basil A. SidorovAlekseySQLПочему тогда в этой статье произошел затык на 1.2 Гбайт/сек- не понятно.Даже через магистральный водопровод нельзя прокачать кубометр в секунду при помощи ручного насоса.

P.S.
У вас какие-то удивительно наивные представления.
Даже не знаю - огорчаться или улыбаться ...

Диск из статьи может работать на 1,7 Гб, при этом PSI EXxpress 3.0 позволяет работать дискам 3,2 Гбайт/сек, PSI EXxpress 2.0 в два раза медленнее, чем PSI EXxpress 3.0 (а значит пропускает минимум 1,6 Гбайт/сек). Поэтому не понятно, почему диск работал на 1.2 Гбайт/сек.
...
Рейтинг: 0 / 0
Какую БД выбрать?
    #39644524
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AlekseySQLПоэтому не понятно, почему диск работал на 1.2 Гбайт/сек.Что же вы трудный-то такой ...
Если аллегория с ручным насосом настолько непонятна, попробуем по другому ...

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

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

P.S.
Надеюсь, вы не рассчитываете на то, что я детально разберу спецификации конкретного устройства?
...
Рейтинг: 0 / 0
Какую БД выбрать?
    #39644543
AlekseySQL
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Basil A. SidorovSSD малого объёма работают медленнее больших потому, что существует предел пропускной способности самой флэш-памяти и канала контролера. На каждый канал устанавливается определённый объем памяти, а значит диск малого объёма использует меньше каналов.

В статье использован SSD Patriot Hellfire емкостью 240 ГБ, тестирование которого показало 2,6 Гбайт/сек на запись и 1,5 Гбайт/сек на чтение. Так что дело не в неудачной реализации SSD диска, который не смог использовать все каналы.

Basil A. SidorovПо этой же причине, на однопоточных обращениях, пропускная способность SSD может быть заметно ниже, чем для многопоточных сценариев.

Характер нагрузки тот же самый, что и для PSI Express 3.0, позволившим осуществить передачу 1.7 ГБайт/сек. Так что и не в характере дело.
...
Рейтинг: 0 / 0
Какую БД выбрать?
    #39644556
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AlekseySQLВ статье использован SSD Patriot Hellfire емкостью 240 ГБ, тестирование которого показало 2,6 Гбайт/сек на запись и 1,5 Гбайт/сек на чтение.Хорошо, я почитаю за вас:
iXBTТестируя Hellfire, мы обратили внимание на то, что максимальную скорость на последовательных операциях из него можно «выжать» лишь многопоточной нагрузкой, так что это тоже надо принимать во внимание на будущее: теоретическая пропускная способность на то и теоретическая, что «реальные» данные, полученные в разных программах по разным сценариям, будут больше зависеть не от нее, а от этих самых программ и сценариев — в том случае, конечно, когда не помешают обстоятельства непреодолимой силы.В тестах, на которые вы ссылаетесь, под самым быстрым результатом есть (стандартная пометка): "32T10".
То есть данная пропускная способность достигается при нагрузке накопителя из 32 потоков и при достаточно большой глубине очереди запросов.
Чтобы понимать "где дно", надо смотреть на полосочку с пометкой "1T1", а это (в секунду) примерно гигабайт с четвертью на чтение и гигабайт - на запись.
...
Рейтинг: 0 / 0
Какую БД выбрать?
    #39644666
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AlekseySQLmaytonНам нужны хоть какие-то цифры.
АлексейSQL. Сделай пожалуйса в консоли:

$ cp file.csv /dev/null

И сообщи нам сколько это заняло времени в секундах.

Файл размером 352МБ копировался "в никуда" примерно 1 секунду.
1) Я имел в виду померять скорость оригинального 50 Гб файла. Здесь - аппроксимация - не вариант.
Мы можем ловить нелинейные эффекты.

2) Покажи шапку файла и первые несколько строк.
Код: plaintext
1.
$ head -n 3 file50gb.csv
...
Рейтинг: 0 / 0
Какую БД выбрать?
    #39644672
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry SibiryakovAlekseySQLПодготавливаю данные для последующего многократного чтения.

Из ОЗУ читать гораздо удобнее, чем с диска.

Друзья. Мне кажется мы пошли немного не в то направление. Мы добиваемся быстрого чтения таблицы
с SSD но не задаём себе вопрос а как она собственно туда попала? Телепортировалась? Ее тоже
качали ftp/wget - ом или что-то подобное.
...
Рейтинг: 0 / 0
Какую БД выбрать?
    #39644872
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AlekseySQLMasterZivпропущено...


Сколько там записей, объектов?
Объём в байтах мало кому интересен при разговоре о БД.

В файле размеров 352 МБайт расположено 6 000 000 строк, каждая из которых представляет назависимую запись. Другими словами, одна запись в текстовом формате весит примерно 60 Байт (а в двоичном немного меньше ~40 Байт).

Скоро попробую скорость при поколоночном хранении в файле и тут отпишу результат.

6 млн -- это мало, тебе не нужны колоночные БД для этого.
Любая СУБД справится.
Например, SQLite. Или MySQL.
...
Рейтинг: 0 / 0
Какую БД выбрать?
    #39644876
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AlekseySQLArm79Лучше бы вы описали характер данных в файле, распределение по значениям колонок, структуру записи и предполагаемые действия над данными.

Столько времени убили, а конкретики до сих пор нет

Пожалуйста, подождите результата теста при "поколоночном" хранении. Возможно все уже сделано, только не протестировано.

Ещё раз, тебе не нужны колоночные СУБД. Они нужны при размере данных задачи от миллиарда записей.
У тебя даже 10 млн нет. На 3 порядка меньше. Индексы и кэш запросто тебе всё твоё чтение сделают быстрым.
Любая современная СУБД это делает. Любая справится с таким малым объёмом. Только надо приложить голову и руки
к проектированию БД и написанию запросов.
...
Рейтинг: 0 / 0
Какую БД выбрать?
    #39645979
AlekseySQL
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
AlekseySQLПожалуйста, подождите результата теста при "поколоночном" хранении. Возможно все уже сделано, только не протестировано.

У меня есть 1 HDD и 1 SSD- диски. При конвертации из txt- формата в bin- формат запись производилась только на HDD, а после удачного завершения данные копировались на SSD (чтобы не уменьшать ресурс SSD неудачными тестами). Чтение данных из bin- файлов производилась 4- мя потоками (3 потока читали с SSD и 1 поток читал с HDD). Для каждого поля производился анализ повторения с предыдущим значением (или его инкрементом), за счет чего удалось выполнить сжатие данных.

AOS(array of struct):
Размер сконвертированных bin- файлов(нет сжатия): 23.3 ГБ
Время записи bin- файлов (только на HDD): 290 сек
Время чтения bin- файлов (с HDD + SSD): 89 сек

SOA(struct of array):

Размер сконвертированных bin- файлов(есть сжатие): 6.8 ГБ
Время записи bin- файлов(только на HDD): 176 сек
Время чтения bin- файлов(с HDD + SSD): 11.5 сек

Видно, что размер файлов уменьшился ~3 раза, а скорость чтения выросла ~8 раз. Произошло это за счет того, что не все колонки читались с диска, а некоторые были пропущены с помощью seekg(). Я доволен результатом.
...
Рейтинг: 0 / 0
Какую БД выбрать?
    #39646006
13th
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Купи два модуля памяти по 32Гб, и проблема решена.
Хочешь - сделай RAM-диск, хочешь напрямую все данные на адресное пространство отобрази. Делов-то.
...
Рейтинг: 0 / 0
Какую БД выбрать?
    #39646208
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AlekseySQLчтобы не уменьшать ресурс SSD неудачными тестами
Это лишнее. Ресурс современных SSD на запись 1+ петабайт, т.е. твои 33 Гб можно записать 30+ тыс. раз.
...
Рейтинг: 0 / 0
Какую БД выбрать?
    #39646220
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
13thКупи два модуля памяти по 32Гб, и проблема решена.
Хочешь - сделай RAM-диск, хочешь напрямую все данные на адресное пространство отобрази. Делов-то.
Я думаю что эта задача не стоит подобных расходов.

Кстати считаю актуальным вопрос об однократном или многократном чтении файла.

Сколько вообще "пробегов" нужно совершить по файлу чтоб решить задачу автора?
...
Рейтинг: 0 / 0
Какую БД выбрать?
    #39646832
AlekseySQL
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
mayton13thКупи два модуля памяти по 32Гб, и проблема решена.
Хочешь - сделай RAM-диск, хочешь напрямую все данные на адресное пространство отобрази. Делов-то.
Я думаю что эта задача не стоит подобных расходов.

Кстати считаю актуальным вопрос об однократном или многократном чтении файла.

Сколько вообще "пробегов" нужно совершить по файлу чтоб решить задачу автора?

В настоящий момент файлы только подготавливаются для последующих алгоритмов. Поэтому пока я ставлю эксперименты на однократный пробег по файлу.
...
Рейтинг: 0 / 0
25 сообщений из 76, страница 3 из 4
Форумы / C++ [игнор отключен] [закрыт для гостей] / Какую БД выбрать?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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