|
|
|
Быстрая запись
|
|||
|---|---|---|---|
|
#18+
Существуют ли СУБД, позволяющие делать insert порядка 50 000 раз в секунду, хотя бы локально? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.02.2008, 20:00 |
|
||
|
Быстрая запись
|
|||
|---|---|---|---|
|
#18+
Ни одна из современных субд не запрещает делать insert порядка 50 000 раз в секунду. А записью на диск занимается ОС и контроллер диска. Могут и не успеть ) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.02.2008, 20:57 |
|
||
|
Быстрая запись
|
|||
|---|---|---|---|
|
#18+
GoodkatСуществуют ли СУБД, позволяющие делать insert порядка 50 000 раз в секунду, хотя бы локально? CACHE 1 000 000 записей на диск в секунду на прямом доступе (только что протестировал чтоб не ошибится) но проблемы CACHE - малоизвестная - платная - нереляционная хотя поддержка SQL есть ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.02.2008, 00:47 |
|
||
|
Быстрая запись
|
|||
|---|---|---|---|
|
#18+
Интересует именно реальная запись на диск, а не в буфер нескольких десятков тысяч записей в секунду. Если просто писать в двоичный или текстовый файл записи такого же размера, то получается примерно 50-60 тыс в сек на sata винте. Ни Interbase ни MySQL даже близко к такой производительности не подбирается. А Cache точно коммитит миллион записей в секунду?! Или там отложенная запись работает? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.02.2008, 02:23 |
|
||
|
Быстрая запись
|
|||
|---|---|---|---|
|
#18+
А что именно нужно записывать, какие именно insert, есть ли дополнительные требования, пиковая нагрузка или нет? Про 1E6 в секунду на Cache - это, конечно, фигня, просто по скорости железа не проходим... Скорее всего считалось время с учетом кэша операционной системы или рейда. Ну и без транзакций, конечно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.02.2008, 02:31 |
|
||
|
Быстрая запись
|
|||
|---|---|---|---|
|
#18+
автор50-60 тыс в сек на sata винте. Ни Interbase ни MySQL даже близко к такой производительности не подбирается. СУБД никогда не даст такой же производительности, как прямая работа с файлом. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.02.2008, 10:28 |
|
||
|
Быстрая запись
|
|||
|---|---|---|---|
|
#18+
kdv автор50-60 тыс в сек на sata винте. Ни Interbase ни MySQL даже близко к такой производительности не подбирается. СУБД никогда не даст такой же производительности, как прямая работа с файлом.Firebird embedded + заливалка через BLR даёт 50К\сек, есть прецеденты. Правда это зависит от ширины записи. Есс-но без индексов и триггеров и с выкл FW. Убедиться - запустить рестор с ключём -v и посмотреть ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.02.2008, 10:41 |
|
||
|
Быстрая запись
|
|||
|---|---|---|---|
|
#18+
GoodkatСуществуют ли СУБД, позволяющие делать insert порядка 50 000 раз в секунду, хотя бы локально?Cмотря как делать. mysqlimport на виртуальном хостинге под миллион коротких записей может вставить. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.02.2008, 10:56 |
|
||
|
Быстрая запись
|
|||
|---|---|---|---|
|
#18+
DPHА что именно нужно записывать, какие именно insert, есть ли дополнительные требования, пиковая нагрузка или нет? Про 1E6 в секунду на Cache - это, конечно, фигня, просто по скорости железа не проходим... Скорее всего считалось время с учетом кэша операционной системы или рейда. Ну и без транзакций, конечно. без открытия-закрытия транзакции кэш - обновленные страницы - сбрасываются на диск примерно каждые 2 секунды записи в тесте - короткие - 20 байт ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.02.2008, 11:08 |
|
||
|
Быстрая запись
|
|||
|---|---|---|---|
|
#18+
посмотрите на сайте tpc.org, в разделах H/C. Там указаны объемы тестовых базы данных и время их загрузки. зная две эти величины можно прикинуть и среднюю длину записи (и это отнюдь не 20 байт) В общем, вопрос только в грамотной архитектуре и железе. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.02.2008, 11:28 |
|
||
|
Быстрая запись
|
|||
|---|---|---|---|
|
#18+
MX -- ALEX GoodkatСуществуют ли СУБД, позволяющие делать insert порядка 50 000 раз в секунду, хотя бы локально? CACHE 1 000 000 записей на диск в секунду на прямом доступе (только что протестировал чтоб не ошибится) но проблемы CACHE - малоизвестная - платная - нереляционная хотя поддержка SQL есть это означает, что Вы сумели создать поток в 20МБ/с на запись. Что достаточно средне для одного SATA-винта. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.02.2008, 11:31 |
|
||
|
Быстрая запись
|
|||
|---|---|---|---|
|
#18+
DPHА что именно нужно записывать, какие именно insert, есть ли дополнительные требования, пиковая нагрузка или нет? Про 1E6 в секунду на Cache - это, конечно, фигня, просто по скорости железа не проходим... Скорее всего считалось время с учетом кэша операционной системы или рейда. Ну и без транзакций, конечно. insert коротких записей: одно-два целочисленных поля, одно-два вещественных и короткая строка байт на 20, т.е. размер одной записи около 50 байт. 20-30 000 в сек - такая нагрузка нужна постоянно, временную пиковую, за миллион, можно за счет буферизированной отложенной записи добиться. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.02.2008, 12:26 |
|
||
|
Быстрая запись
|
|||
|---|---|---|---|
|
#18+
вопрос - что вы с таким количеством записей будете делать? допустим, 20к записей в секунду. это 1 млн 200к записей в минуту это 72 миллиона записей в час это 1 миллиард 728 миллионов записей в сутки. то есть, если 50 байт на запись, то без учета оверхеда это 80 гигабайт в сутки. Дальнейшие умножения предлагаю проделать самостоятельно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.02.2008, 13:21 |
|
||
|
Быстрая запись
|
|||
|---|---|---|---|
|
#18+
да делать то можно разное епт может он в течение недели эти миллиарды собирать, чтобы потом статистические срезы изучать. мне другое интересно: почему одни говорят что это невозможно, другие говорят это средняя скорость для сата винта? там можно или нет? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.02.2008, 03:41 |
|
||
|
Быстрая запись
|
|||
|---|---|---|---|
|
#18+
Разбанить Падонка!там можно или нет? А не пофиг ли? В Оракл внешние таблицы есть. Можно из файла данные брать как нефиг делать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.02.2008, 07:38 |
|
||
|
Быстрая запись
|
|||
|---|---|---|---|
|
#18+
Разбанить Падонка!да делать то можно разное епт может он в течение недели эти миллиарды собирать, чтобы потом статистические срезы изучать. мне другое интересно: почему одни говорят что это невозможно, другие говорят это средняя скорость для сата винта? там можно или нет? потому что разный опыт. одно дело крутить firebird на рабочей станции, другое - Oracle/DB2/SQL Server на машине за 500К+ вечнозеленых. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.02.2008, 07:53 |
|
||
|
Быстрая запись
|
|||
|---|---|---|---|
|
#18+
Разбанить Падонка!мне другое интересно: почему одни говорят что это невозможно, другие говорят это средняя скорость для сата винта? там можно или нет?Кто говорит, что невозможно? я таких постов что-то не вижу... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.02.2008, 09:22 |
|
||
|
Быстрая запись
|
|||
|---|---|---|---|
|
#18+
Вполне возможно. Я еще года полтора назад поднимал аналогичную тему. У меня тоже стояла задача записи около 50-60тыс. записей в сек. Была разработана многозвенка. Сначала данные принимались в буфер, из него писалось одновременно в файлы и в СУБД. в качестве СУБД использовался MS SQL2000. размер одной записи около 55 байт. Уже около года работает. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.02.2008, 10:03 |
|
||
|
Быстрая запись
|
|||
|---|---|---|---|
|
#18+
Вообщем, после долгих экспериментов оказалось, что SQLite все-таки может давать такую скорость, однако, далеко не с каждой библиотекой доступа. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.02.2008, 13:21 |
|
||
|
Быстрая запись
|
|||
|---|---|---|---|
|
#18+
AAronпотому что разный опыт. одно дело крутить firebird на рабочей станции, другое - Oracle/DB2/SQL Server на машине за 500К+ вечнозеленых. если это намек на чужой опыт, то не надо грязи. К тому же, тут FB никто не предлагал. человеку пытаются объяснить, что 1. для 50к сек как минимум нужны соответствующие диски (железо) 2. для обработки данных такого объема нужна соответствующая, и возможно специфическая СУБД. GoodkatВообщем, после долгих экспериментов оказалось, что SQLite все-таки может давать такую скорость вы лучше подумайте или объясните, что вы с накопленными данными будете делать. Залить-то можно, вопрос в том, зачем оно нужно, залитое. Например, если посчитать среднее за день, то запросу придется перелопачивать 80 гиг. Сколько времени это будет делать SQLLite? Куда вы будете девать накопленные данные через год, которых накопится под 30 терабайт? Я не говорю, что систему под такую задачу нельзя построить. Можно. Только если ее строить "в лоб", с такими объемами она работать не будет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.02.2008, 14:30 |
|
||
|
Быстрая запись
|
|||
|---|---|---|---|
|
#18+
GoodkatВообщем, после долгих экспериментов оказалось, что SQLite все-таки может давать такую скорость, однако, далеко не с каждой библиотекой доступа. так она вроде блокирует целиком таблицу, если ты будешь один перманентно только писать туда то фиг с ней, а если еще в это время и читать то ёк ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.02.2008, 11:35 |
|
||
|
Быстрая запись
|
|||
|---|---|---|---|
|
#18+
kdv AAronпотому что разный опыт. одно дело крутить firebird на рабочей станции, другое - Oracle/DB2/SQL Server на машине за 500К+ вечнозеленых. если это намек на чужой опыт, то не надо грязи. К тому же, тут FB никто не предлагал. человеку пытаются объяснить, что ни в коем случае не наезд, и не грязь, чисто пример (можно поставить SQLLite, MySQL и т.п.). Основная мысль - разный опыт. При соответствующем железе - большинство серверов потянут такую нагрузку. PS.предлагаю не флеймить по этом поводу. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.02.2008, 18:14 |
|
||
|
Быстрая запись
|
|||
|---|---|---|---|
|
#18+
авторПри соответствующем железе - большинство серверов потянут такую нагрузку. не давайте автору топика ложных надежд. скорость вставки - это малая часть задачи. Да, конечно, с такой скоростью вставки справятся большинство серверов. И SQLLite, и MySQL, и Firebird, и PostgreSQL. Весь вопрос в том, что будет когда через месяц в этой системе будет накоплено 2.5 терабайт данных. А также в том, что еще кроме вставки предполагается делать с данными (в том числе во время вставки). Думаю, никто не будет спорить, что упомянутые мной здесь 4 сервера не способны нормально работать с такими объемами. То есть, залить такой объем в них наверняка можно, но вот дальше... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.02.2008, 21:55 |
|
||
|
Быстрая запись
|
|||
|---|---|---|---|
|
#18+
kdvне давайте автору топика ложных надежд. скорость вставки - это малая часть задачи. Да, конечно, с такой скоростью вставки справятся большинство серверов. И SQLLite, и MySQL, и Firebird, и PostgreSQL. Весь вопрос в том, что будет когда через месяц в этой системе будет накоплено 2.5 терабайт данных. А также в том, что еще кроме вставки предполагается делать с данными (в том числе во время вставки). Думаю, никто не будет спорить, что упомянутые мной здесь 4 сервера не способны нормально работать с такими объемами. То есть, залить такой объем в них наверняка можно, но вот дальше...и MySQL, и PostgreSQL - работать смогут (по заявлениям с сайтов производителей ))) ) А что такое нормально - это еще вопрос. ИМХО с любой БД больше 10 Gb нужно уметь правильно готовить. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.02.2008, 11:16 |
|
||
|
Быстрая запись
|
|||
|---|---|---|---|
|
#18+
kdvне давайте автору топика ложных надежд. скорость вставки - это малая часть задачи. Дим, а у нас недавно спрашивали, сможет ли ЛИНТЕР вставить 60000 записей за 50 миллисекунд :-) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.02.2008, 11:53 |
|
||
|
Быстрая запись
|
|||
|---|---|---|---|
|
#18+
kdv AAronпотому что разный опыт. одно дело крутить firebird на рабочей станции, другое - Oracle/DB2/SQL Server на машине за 500К+ вечнозеленых. если это намек на чужой опыт, то не надо грязи. К тому же, тут FB никто не предлагал. человеку пытаются объяснить, что 1. для 50к сек как минимум нужны соответствующие диски (железо) 2. для обработки данных такого объема нужна соответствующая, и возможно специфическая СУБД. GoodkatВообщем, после долгих экспериментов оказалось, что SQLite все-таки может давать такую скорость вы лучше подумайте или объясните, что вы с накопленными данными будете делать. Залить-то можно, вопрос в том, зачем оно нужно, залитое. Например, если посчитать среднее за день, то запросу придется перелопачивать 80 гиг. Сколько времени это будет делать SQLLite? Куда вы будете девать накопленные данные через год, которых накопится под 30 терабайт? Я не говорю, что систему под такую задачу нельзя построить. Можно. Только если ее строить "в лоб", с такими объемами она работать не будет. Разумеется все данные не будут лежать в одной базе - будет разбиение на файлы по 100-500 Мб. Перед непосредственным SQL запросом на чтение нужные файлы отбираются по дополнительной информации (есть промежуточный сервер доступа). По поводу общего объема - вероятно все-таки скорость в 40К в сек не постоянна (но все-таки значительно больше того времени, когда можно было бы обойтись только буферизацией). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.02.2008, 16:32 |
|
||
|
Быстрая запись
|
|||
|---|---|---|---|
|
#18+
barrabas GoodkatВообщем, после долгих экспериментов оказалось, что SQLite все-таки может давать такую скорость, однако, далеко не с каждой библиотекой доступа. так она вроде блокирует целиком таблицу, если ты будешь один перманентно только писать туда то фиг с ней, а если еще в это время и читать то ёк Да есть такая гадость, но особенность задачи такая, что запросов на чтение очень мало и они не особо критичны по времени исполнения (в разумных пределах), тем более что, как правило, запросы будут к более старым данным, т.е. к базам уже закрытым на запись. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.02.2008, 16:37 |
|
||
|
Быстрая запись
|
|||
|---|---|---|---|
|
#18+
VoDA kdvне давайте автору топика ложных надежд. скорость вставки - это малая часть задачи. Да, конечно, с такой скоростью вставки справятся большинство серверов. И SQLLite, и MySQL, и Firebird, и PostgreSQL. Весь вопрос в том, что будет когда через месяц в этой системе будет накоплено 2.5 терабайт данных. А также в том, что еще кроме вставки предполагается делать с данными (в том числе во время вставки). Думаю, никто не будет спорить, что упомянутые мной здесь 4 сервера не способны нормально работать с такими объемами. То есть, залить такой объем в них наверняка можно, но вот дальше...и MySQL, и PostgreSQL - работать смогут (по заявлениям с сайтов производителей ))) ) А что такое нормально - это еще вопрос. ИМХО с любой БД больше 10 Gb нужно уметь правильно готовить. А вот из MySQL я больше 4000 в сек выжать не смог :( Из Firebird и того меньше. Может кто подскажет как? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.02.2008, 16:40 |
|
||
|
Быстрая запись
|
|||
|---|---|---|---|
|
#18+
GoodkatА вот из MySQL я больше 4000 в сек выжать не смог :( Из Firebird и того меньше. Может кто подскажет как?В профильных форумах может кто и подскажет ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.02.2008, 16:52 |
|
||
|
Быстрая запись
|
|||
|---|---|---|---|
|
#18+
если вам нафиг не нужен функционал БД, используете для промежуточного хранения файлы. Можно сохранять данные даже в "удобоваримом" формате. А затем заливайте их через BULK большими блоками. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.02.2008, 17:26 |
|
||
|
Быстрая запись
|
|||
|---|---|---|---|
|
#18+
GoodkatА вот из MySQL я больше 4000 в сек выжать не смог :( Из Firebird и того меньше. Может кто подскажет как?А может просто файлы для первичного сохранения информации. Когда идет поток и нужно успеть сохранить все. Может даже в несколько файлов физически лежащих на разных винтах. А уже после прохождения фазы активной записи (отключении базы по вашим словам) - забрасывать это в СУБД для дальнейшего анализа. Если есть возможность - стоит подготовить данные чтобы можно было через спец средства заливать их в СУБД. но это СУБД зависимо и нужно разбираться по месте ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.02.2008, 21:29 |
|
||
|
Быстрая запись
|
|||
|---|---|---|---|
|
#18+
GoodkatВообщем, после долгих экспериментов оказалось, что SQLite все-таки может давать такую скорость, однако, далеко не с каждой библиотекой доступа. Работаю с sqlite на тикле, как-то не заморачивался на сей счет, но на ноуте 30 000 записей в секунду в одной транзакции даже при полной синхронизации пишет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.03.2008, 20:16 |
|
||
|
Быстрая запись
|
|||
|---|---|---|---|
|
#18+
А как на счет быстрого удаления. Какой алгоритм самого быстрого удаления дубликатов??? Именно быстрого ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.03.2008, 17:25 |
|
||
|
Быстрая запись
|
|||
|---|---|---|---|
|
#18+
Ivan DurakА как на счет быстрого удаления. Какой алгоритм самого быстрого удаления дубликатов??? Именно быстрого В sqlite при вставке можно в качестве алгоритма разрешения конфликтов указать удаление предыдущей записи. Таким образом, дубликатов гарантированно не будет, как не будет и ошибки при вставке. Если же вас интересует сам алгоритм, смотрите исходники. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.03.2008, 20:41 |
|
||
|
Быстрая запись
|
|||
|---|---|---|---|
|
#18+
MBG Ivan DurakА как на счет быстрого удаления. Какой алгоритм самого быстрого удаления дубликатов??? Именно быстрого В sqlite при вставке можно в качестве алгоритма разрешения конфликтов указать удаление предыдущей записи. Таким образом, дубликатов гарантированно не будет, как не будет и ошибки при вставке. Если же вас интересует сам алгоритм, смотрите исходники. Мне нужны не полные дубликаты удалять, а по определенным полям, и потом не в sqllite а в MSSQL2005 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.03.2008, 10:30 |
|
||
|
|

start [/forum/topic.php?all=1&fid=35&tid=1553151]: |
0ms |
get settings: |
10ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
39ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
66ms |
get tp. blocked users: |
2ms |
| others: | 13ms |
| total: | 167ms |

| 0 / 0 |
