powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Сравнение СУБД [игнор отключен] [закрыт для гостей] / Быстрая запись
35 сообщений из 35, показаны все 2 страниц
Быстрая запись
    #35137808
Goodkat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Существуют ли СУБД, позволяющие делать insert порядка 50 000 раз в секунду, хотя бы локально?
...
Рейтинг: 0 / 0
Быстрая запись
    #35137836
rilio
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ни одна из современных субд не запрещает делать insert порядка 50 000 раз в секунду.
А записью на диск занимается ОС и контроллер диска. Могут и не успеть )
...
Рейтинг: 0 / 0
Быстрая запись
    #35137977
MX -- ALEX
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
GoodkatСуществуют ли СУБД, позволяющие делать insert порядка 50 000 раз в секунду, хотя бы локально?

CACHE
1 000 000 записей на диск в секунду на прямом доступе
(только что протестировал чтоб не ошибится)

но проблемы
CACHE - малоизвестная - платная - нереляционная
хотя поддержка SQL есть
...
Рейтинг: 0 / 0
Быстрая запись
    #35138011
Goodkat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Интересует именно реальная запись на диск, а не в буфер нескольких десятков тысяч записей в секунду. Если просто писать в двоичный или текстовый файл записи такого же размера, то получается примерно 50-60 тыс в сек на sata винте. Ни Interbase ни MySQL даже близко к такой производительности не подбирается.

А Cache точно коммитит миллион записей в секунду?! Или там отложенная запись работает?
...
Рейтинг: 0 / 0
Быстрая запись
    #35138013
DPH
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
DPH
Гость
А что именно нужно записывать, какие именно insert, есть ли дополнительные требования, пиковая нагрузка или нет?

Про 1E6 в секунду на Cache - это, конечно, фигня, просто по скорости железа не проходим... Скорее всего считалось время с учетом кэша операционной системы или рейда. Ну и без транзакций, конечно.
...
Рейтинг: 0 / 0
Быстрая запись
    #35138327
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
автор50-60 тыс в сек на sata винте. Ни Interbase ни MySQL даже близко к такой производительности не подбирается.
СУБД никогда не даст такой же производительности, как прямая работа с файлом.
...
Рейтинг: 0 / 0
Быстрая запись
    #35138365
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kdv автор50-60 тыс в сек на sata винте. Ни Interbase ни MySQL даже близко к такой производительности не подбирается.
СУБД никогда не даст такой же производительности, как прямая работа с файлом.Firebird embedded + заливалка через BLR даёт 50К\сек, есть прецеденты.
Правда это зависит от ширины записи. Есс-но без индексов и триггеров и с выкл FW.
Убедиться - запустить рестор с ключём -v и посмотреть
...
Рейтинг: 0 / 0
Быстрая запись
    #35138428
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
GoodkatСуществуют ли СУБД, позволяющие делать insert порядка 50 000 раз в секунду, хотя бы локально?Cмотря как делать.
mysqlimport на виртуальном хостинге под миллион коротких записей может вставить.
...
Рейтинг: 0 / 0
Быстрая запись
    #35138470
MX -- ALEX
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
DPHА что именно нужно записывать, какие именно insert, есть ли дополнительные требования, пиковая нагрузка или нет?

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

без открытия-закрытия транзакции
кэш - обновленные страницы - сбрасываются на диск примерно каждые 2 секунды
записи в тесте - короткие - 20 байт
...
Рейтинг: 0 / 0
Быстрая запись
    #35138538
AAron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
посмотрите на сайте tpc.org, в разделах H/C. Там указаны объемы тестовых базы данных и время их загрузки.
зная две эти величины можно прикинуть и среднюю длину записи (и это отнюдь не 20 байт)

В общем, вопрос только в грамотной архитектуре и железе.
...
Рейтинг: 0 / 0
Быстрая запись
    #35138556
AAron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MX -- ALEX GoodkatСуществуют ли СУБД, позволяющие делать insert порядка 50 000 раз в секунду, хотя бы локально?

CACHE
1 000 000 записей на диск в секунду на прямом доступе
(только что протестировал чтоб не ошибится)

но проблемы
CACHE - малоизвестная - платная - нереляционная
хотя поддержка SQL есть
это означает, что Вы сумели создать поток в 20МБ/с на запись. Что достаточно средне для одного SATA-винта.
...
Рейтинг: 0 / 0
Быстрая запись
    #35138736
Goodkat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
DPHА что именно нужно записывать, какие именно insert, есть ли дополнительные требования, пиковая нагрузка или нет?

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

insert коротких записей: одно-два целочисленных поля, одно-два вещественных и короткая строка байт на 20, т.е. размер одной записи около 50 байт.

20-30 000 в сек - такая нагрузка нужна постоянно, временную пиковую, за миллион, можно за счет буферизированной отложенной записи добиться.
...
Рейтинг: 0 / 0
Быстрая запись
    #35138926
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вопрос - что вы с таким количеством записей будете делать?
допустим, 20к записей в секунду.
это 1 млн 200к записей в минуту
это 72 миллиона записей в час
это 1 миллиард 728 миллионов записей в сутки.

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

мне другое интересно: почему одни говорят что это невозможно, другие говорят это средняя скорость для сата винта?

там можно или нет?
...
Рейтинг: 0 / 0
Быстрая запись
    #35140518
Фотография Николай Кальмарский
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Разбанить Падонка!там можно или нет?

А не пофиг ли? В Оракл внешние таблицы есть. Можно из файла данные брать как нефиг делать.
...
Рейтинг: 0 / 0
Быстрая запись
    #35140529
AAron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Разбанить Падонка!да делать то можно разное епт
может он в течение недели эти миллиарды собирать, чтобы потом статистические срезы изучать.

мне другое интересно: почему одни говорят что это невозможно, другие говорят это средняя скорость для сата винта?

там можно или нет?
потому что разный опыт. одно дело крутить firebird на рабочей станции, другое - Oracle/DB2/SQL Server на машине за 500К+ вечнозеленых.
...
Рейтинг: 0 / 0
Быстрая запись
    #35140603
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Разбанить Падонка!мне другое интересно: почему одни говорят что это невозможно, другие говорят это средняя скорость для сата винта?

там можно или нет?Кто говорит, что невозможно? я таких постов что-то не вижу...
...
Рейтинг: 0 / 0
Быстрая запись
    #35140680
злой программер
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вполне возможно. Я еще года полтора назад поднимал аналогичную тему. У меня тоже стояла задача записи около 50-60тыс. записей в сек. Была разработана многозвенка. Сначала данные принимались в буфер, из него писалось одновременно в файлы и в СУБД. в качестве СУБД использовался MS SQL2000. размер одной записи около 55 байт. Уже около года работает.
...
Рейтинг: 0 / 0
Быстрая запись
    #35141353
Goodkat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вообщем, после долгих экспериментов оказалось, что SQLite все-таки может давать такую скорость, однако, далеко не с каждой библиотекой доступа.
...
Рейтинг: 0 / 0
Быстрая запись
    #35141597
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AAronпотому что разный опыт. одно дело крутить firebird на рабочей станции, другое - Oracle/DB2/SQL Server на машине за 500К+ вечнозеленых.
если это намек на чужой опыт, то не надо грязи. К тому же, тут FB никто не предлагал.
человеку пытаются объяснить, что
1. для 50к сек как минимум нужны соответствующие диски (железо)
2. для обработки данных такого объема нужна соответствующая, и возможно специфическая СУБД.

GoodkatВообщем, после долгих экспериментов оказалось, что SQLite все-таки может давать такую скорость
вы лучше подумайте или объясните, что вы с накопленными данными будете делать. Залить-то можно, вопрос в том, зачем оно нужно, залитое. Например, если посчитать среднее за день, то запросу придется перелопачивать 80 гиг. Сколько времени это будет делать SQLLite? Куда вы будете девать накопленные данные через год, которых накопится под 30 терабайт?
Я не говорю, что систему под такую задачу нельзя построить. Можно. Только если ее строить "в лоб", с такими объемами она работать не будет.
...
Рейтинг: 0 / 0
Быстрая запись
    #35143674
Фотография barrabas
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
GoodkatВообщем, после долгих экспериментов оказалось, что SQLite все-таки может давать такую скорость, однако, далеко не с каждой библиотекой доступа.
так она вроде блокирует целиком таблицу, если ты будешь один перманентно только писать туда то фиг с ней, а если еще в это время и читать то ёк
...
Рейтинг: 0 / 0
Быстрая запись
    #35145471
AAron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kdv AAronпотому что разный опыт. одно дело крутить firebird на рабочей станции, другое - Oracle/DB2/SQL Server на машине за 500К+ вечнозеленых.
если это намек на чужой опыт, то не надо грязи. К тому же, тут FB никто не предлагал.
человеку пытаются объяснить, что

ни в коем случае не наезд, и не грязь, чисто пример (можно поставить SQLLite, MySQL и т.п.). Основная мысль - разный опыт. При соответствующем железе - большинство серверов потянут такую нагрузку.


PS.предлагаю не флеймить по этом поводу.
...
Рейтинг: 0 / 0
Быстрая запись
    #35149097
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторПри соответствующем железе - большинство серверов потянут такую нагрузку.
не давайте автору топика ложных надежд. скорость вставки - это малая часть задачи. Да, конечно, с такой скоростью вставки справятся большинство серверов. И SQLLite, и MySQL, и Firebird, и PostgreSQL. Весь вопрос в том, что будет когда через месяц в этой системе будет накоплено 2.5 терабайт данных. А также в том, что еще кроме вставки предполагается делать с данными (в том числе во время вставки).
Думаю, никто не будет спорить, что упомянутые мной здесь 4 сервера не способны нормально работать с такими объемами. То есть, залить такой объем в них наверняка можно, но вот дальше...
...
Рейтинг: 0 / 0
Быстрая запись
    #35149832
VoDA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kdvне давайте автору топика ложных надежд. скорость вставки - это малая часть задачи. Да, конечно, с такой скоростью вставки справятся большинство серверов. И SQLLite, и MySQL, и Firebird, и PostgreSQL. Весь вопрос в том, что будет когда через месяц в этой системе будет накоплено 2.5 терабайт данных. А также в том, что еще кроме вставки предполагается делать с данными (в том числе во время вставки).
Думаю, никто не будет спорить, что упомянутые мной здесь 4 сервера не способны нормально работать с такими объемами. То есть, залить такой объем в них наверняка можно, но вот дальше...и MySQL, и PostgreSQL - работать смогут (по заявлениям с сайтов производителей ))) )
А что такое нормально - это еще вопрос. ИМХО с любой БД больше 10 Gb нужно уметь правильно готовить.
...
Рейтинг: 0 / 0
Быстрая запись
    #35149989
pavelvp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kdvне давайте автору топика ложных надежд. скорость вставки - это малая часть задачи.
Дим, а у нас недавно спрашивали, сможет ли ЛИНТЕР вставить 60000 записей за 50 миллисекунд :-)
...
Рейтинг: 0 / 0
Быстрая запись
    #35155928
Goodkat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
kdv AAronпотому что разный опыт. одно дело крутить firebird на рабочей станции, другое - Oracle/DB2/SQL Server на машине за 500К+ вечнозеленых.
если это намек на чужой опыт, то не надо грязи. К тому же, тут FB никто не предлагал.
человеку пытаются объяснить, что
1. для 50к сек как минимум нужны соответствующие диски (железо)
2. для обработки данных такого объема нужна соответствующая, и возможно специфическая СУБД.

GoodkatВообщем, после долгих экспериментов оказалось, что SQLite все-таки может давать такую скорость
вы лучше подумайте или объясните, что вы с накопленными данными будете делать. Залить-то можно, вопрос в том, зачем оно нужно, залитое. Например, если посчитать среднее за день, то запросу придется перелопачивать 80 гиг. Сколько времени это будет делать SQLLite? Куда вы будете девать накопленные данные через год, которых накопится под 30 терабайт?
Я не говорю, что систему под такую задачу нельзя построить. Можно. Только если ее строить "в лоб", с такими объемами она работать не будет.

Разумеется все данные не будут лежать в одной базе - будет разбиение на файлы по 100-500 Мб. Перед непосредственным SQL запросом на чтение нужные файлы отбираются по дополнительной информации (есть промежуточный сервер доступа).

По поводу общего объема - вероятно все-таки скорость в 40К в сек не постоянна (но все-таки значительно больше того времени, когда можно было бы обойтись только буферизацией).
...
Рейтинг: 0 / 0
Быстрая запись
    #35155948
Goodkat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
barrabas GoodkatВообщем, после долгих экспериментов оказалось, что SQLite все-таки может давать такую скорость, однако, далеко не с каждой библиотекой доступа.
так она вроде блокирует целиком таблицу, если ты будешь один перманентно только писать туда то фиг с ней, а если еще в это время и читать то ёк

Да есть такая гадость, но особенность задачи такая, что запросов на чтение очень мало и они не особо критичны по времени исполнения (в разумных пределах), тем более что, как правило, запросы будут к более старым данным, т.е. к базам уже закрытым на запись.
...
Рейтинг: 0 / 0
Быстрая запись
    #35155961
Goodkat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
VoDA kdvне давайте автору топика ложных надежд. скорость вставки - это малая часть задачи. Да, конечно, с такой скоростью вставки справятся большинство серверов. И SQLLite, и MySQL, и Firebird, и PostgreSQL. Весь вопрос в том, что будет когда через месяц в этой системе будет накоплено 2.5 терабайт данных. А также в том, что еще кроме вставки предполагается делать с данными (в том числе во время вставки).
Думаю, никто не будет спорить, что упомянутые мной здесь 4 сервера не способны нормально работать с такими объемами. То есть, залить такой объем в них наверняка можно, но вот дальше...и MySQL, и PostgreSQL - работать смогут (по заявлениям с сайтов производителей ))) )
А что такое нормально - это еще вопрос. ИМХО с любой БД больше 10 Gb нужно уметь правильно готовить.

А вот из MySQL я больше 4000 в сек выжать не смог :( Из Firebird и того меньше.
Может кто подскажет как?
...
Рейтинг: 0 / 0
Быстрая запись
    #35156005
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
GoodkatА вот из MySQL я больше 4000 в сек выжать не смог :( Из Firebird и того меньше.
Может кто подскажет как?В профильных форумах может кто и подскажет
...
Рейтинг: 0 / 0
Быстрая запись
    #35156136
AAron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
если вам нафиг не нужен функционал БД, используете для промежуточного хранения файлы. Можно сохранять данные даже в "удобоваримом" формате. А затем заливайте их через BULK большими блоками.
...
Рейтинг: 0 / 0
Быстрая запись
    #35156567
VoDA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
GoodkatА вот из MySQL я больше 4000 в сек выжать не смог :( Из Firebird и того меньше.
Может кто подскажет как?А может просто файлы для первичного сохранения информации. Когда идет поток и нужно успеть сохранить все.

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

Если есть возможность - стоит подготовить данные чтобы можно было через спец средства заливать их в СУБД. но это СУБД зависимо и нужно разбираться по месте
...
Рейтинг: 0 / 0
Быстрая запись
    #35168195
MBG
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
MBG
Гость
GoodkatВообщем, после долгих экспериментов оказалось, что SQLite все-таки может давать такую скорость, однако, далеко не с каждой библиотекой доступа.

Работаю с sqlite на тикле, как-то не заморачивался на сей счет, но на ноуте 30 000 записей в секунду в одной транзакции даже при полной синхронизации пишет.
...
Рейтинг: 0 / 0
Быстрая запись
    #35178872
Ivan Durak
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А как на счет быстрого удаления.
Какой алгоритм самого быстрого удаления дубликатов??? Именно быстрого
...
Рейтинг: 0 / 0
Быстрая запись
    #35179103
MBG
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
MBG
Гость
Ivan DurakА как на счет быстрого удаления.
Какой алгоритм самого быстрого удаления дубликатов??? Именно быстрого

В sqlite при вставке можно в качестве алгоритма разрешения конфликтов указать удаление предыдущей записи. Таким образом, дубликатов гарантированно не будет, как не будет и ошибки при вставке. Если же вас интересует сам алгоритм, смотрите исходники.
...
Рейтинг: 0 / 0
Быстрая запись
    #35187117
Ivan Durak
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MBG Ivan DurakА как на счет быстрого удаления.
Какой алгоритм самого быстрого удаления дубликатов??? Именно быстрого

В sqlite при вставке можно в качестве алгоритма разрешения конфликтов указать удаление предыдущей записи. Таким образом, дубликатов гарантированно не будет, как не будет и ошибки при вставке. Если же вас интересует сам алгоритм, смотрите исходники.
Мне нужны не полные дубликаты удалять, а по определенным полям, и потом не в sqllite а в MSSQL2005
...
Рейтинг: 0 / 0
35 сообщений из 35, показаны все 2 страниц
Форумы / Сравнение СУБД [игнор отключен] [закрыт для гостей] / Быстрая запись
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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