|
СУБД для временного хранения данных из бинарного файла (под Delphi).
|
|||
---|---|---|---|
#18+
Всем привет! Суть проблемы - есть куча бинарных файлов, хранящих в себе информацию о результатах лазерного сканирования. Файлов может быть много, файлы могут быть тяжелыми (порядка 10-15 млн записей, но это уже край, обычно 3-5 млн, 50-150 мб). Программа (пишу на Delphi) должна проанализировать файл на наличие дублирующихся записей и произвести какое-либо действие по выбору пользователя. Предполагается такой план работы: 1. Чтение и одновременная запись из бинарника в БД; 2. Запрос на поиск дублирующихся данных (совпадение нескольких полей у разных записей); 3. Произведение выбранного действия (либо просто ответ да\нет, сколько и т.п.); 4. Вывод инфы из БД в бинарник (опционально); 5. Очистка временной БД; Соответственно ищется БД с достаточно большой скоростью записи и поиска дублирующихся значений. Как дополнительно - желательно встраиваемая в исполняемый файл, дабы не смущать пользователей лишними файлами (но это не обязательно). Ну и желательно (но совсем не обязательно) - описание того как вообще с ней работать (запросы и т.п.). Кто чего посоветует??? ... |
|||
:
Нравится:
Не нравится:
|
|||
17.04.2012, 22:52 |
|
СУБД для временного хранения данных из бинарного файла (под Delphi).
|
|||
---|---|---|---|
#18+
Посоветуем не забивать гвозди микроскопом и решить задачу тупо и просто (а заодно намного более эффективно). ... |
|||
:
Нравится:
Не нравится:
|
|||
17.04.2012, 22:59 |
|
СУБД для временного хранения данных из бинарного файла (под Delphi).
|
|||
---|---|---|---|
#18+
softwarerрешить задачу тупо и просто Ну что ты, он же Кнута не читал, ему для сортировки и поиска дубликатов позарез СУБД нужна... FvMAS - то, что ему нужно. Как раз на Дельфи... Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
17.04.2012, 23:02 |
|
СУБД для временного хранения данных из бинарного файла (под Delphi).
|
|||
---|---|---|---|
#18+
Dimitry SibiryakovНу что ты, он же Кнута не читал, ему для сортировки и поиска дубликатов позарез СУБД нужна... Читавший Кнута вряд ли станет решать эту задачу сортировкой.. Разве что если при записи обратно в бинарник она всё равно нужна. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.04.2012, 23:07 |
|
СУБД для временного хранения данных из бинарного файла (под Delphi).
|
|||
---|---|---|---|
#18+
Понял, что надо почитать Кнута... да его я не читал, скрывать не буду... ... |
|||
:
Нравится:
Не нравится:
|
|||
17.04.2012, 23:11 |
|
СУБД для временного хранения данных из бинарного файла (под Delphi).
|
|||
---|---|---|---|
#18+
softwarerЧитавший Кнута вряд ли станет решать эту задачу сортировкой.. Э? А как?.. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
17.04.2012, 23:12 |
|
СУБД для временного хранения данных из бинарного файла (под Delphi).
|
|||
---|---|---|---|
#18+
Freimaks Кто чего посоветует??? Я так думаю нужно поискать компонет реализующий set , multiset, map, multimap для делфи. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.04.2012, 23:23 |
|
СУБД для временного хранения данных из бинарного файла (под Delphi).
|
|||
---|---|---|---|
#18+
Dimitry SibiryakovsoftwarerЧитавший Кнута вряд ли станет решать эту задачу сортировкой.. Э? А как?.. Так же как это делают все современные СУБД, без сортировки. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.04.2012, 23:36 |
|
СУБД для временного хранения данных из бинарного файла (под Delphi).
|
|||
---|---|---|---|
#18+
без сортировкиТак же как это делают все современные СУБД, без сортировки. А конкретнее? Как это делает Оракул, например? Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
17.04.2012, 23:58 |
|
СУБД для временного хранения данных из бинарного файла (под Delphi).
|
|||
---|---|---|---|
#18+
> Понял, что надо почитать Кнута... да его я не читал, скрывать не буду... Смотри, пока всего не прочитаешь -- и не думай двигаться дальше ! Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
18.04.2012, 00:03 |
|
СУБД для временного хранения данных из бинарного файла (под Delphi).
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakovбез сортировкиТак же как это делают все современные СУБД, без сортировки. А конкретнее? Как это делает Оракул, например? hash match group by ... |
|||
:
Нравится:
Не нравится:
|
|||
18.04.2012, 00:57 |
|
СУБД для временного хранения данных из бинарного файла (под Delphi).
|
|||
---|---|---|---|
#18+
hash match group byhash match group by А сортировка по хэшу, конечно же, сортировкой не является. Ню-ню... Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
18.04.2012, 02:07 |
|
СУБД для временного хранения данных из бинарного файла (под Delphi).
|
|||
---|---|---|---|
#18+
"Сортировка по хэшу" - это в анналы. "Автор, пеши исчо" (ц) ... |
|||
:
Нравится:
Не нравится:
|
|||
18.04.2012, 02:17 |
|
СУБД для временного хранения данных из бинарного файла (под Delphi).
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakovhash match group byhash match group by А сортировка по хэшу, конечно же, сортировкой не является. Ню-ню... А как это происходит и в чем преимущество данной сортировки в двух словах расскажите. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.04.2012, 02:22 |
|
СУБД для временного хранения данных из бинарного файла (под Delphi).
|
|||
---|---|---|---|
#18+
hash match group byА как это происходит и в чем преимущество данной сортировки в двух словах расскажите. программист должен изучить все виды сортировок, и потом их применять по месту, как из "словаря". Например, я помню, что есть много разных сортировок, и чем они отличаются, но я не помню, как эти сортировки реализованы (код). Но мне это нафиг не надо - открыл любой справочник по программированию, и посмотрел. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.04.2012, 04:05 |
|
СУБД для временного хранения данных из бинарного файла (под Delphi).
|
|||
---|---|---|---|
#18+
Любая NO-SQL база... ... |
|||
:
Нравится:
Не нравится:
|
|||
18.04.2012, 09:50 |
|
СУБД для временного хранения данных из бинарного файла (под Delphi).
|
|||
---|---|---|---|
#18+
Freimaks 2. Запрос на поиск дублирующихся данных (совпадение нескольких полей у разных записей); softwarerПосоветуем не забивать гвозди микроскопом ну - если наборы полей разные? почему бы и не БД? Firebird встроенный или Sqlite как мне думается могут подойти. Изучать Кнута конечно полезно, и сортировки знать надо... Но на готовом движке получить желаемый результат проще, трудозатраты меньше, гибкость приемлимая - а скорость работы программы так ли сильно пострадает? ... |
|||
:
Нравится:
Не нравится:
|
|||
18.04.2012, 10:01 |
|
СУБД для временного хранения данных из бинарного файла (под Delphi).
|
|||
---|---|---|---|
#18+
On 04/18/2012 03:07 AM, Dimitry Sibiryakov wrote: > А сортировка по хэшу, конечно же, сортировкой не является. Ню-ню... Хэш не сортирует. Хэш группирует как максимум. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
18.04.2012, 11:04 |
|
СУБД для временного хранения данных из бинарного файла (под Delphi).
|
|||
---|---|---|---|
#18+
Vladimir Baskakovну - если наборы полей разные? почему бы и не БД? Потому что писать загрузку в БД, выгрузку из БД и решать попутные проблемы будет дольше, чем идти прямым путём, и даст куда худший результат. Vladimir BaskakovНо на готовом движке получить желаемый результат проще, трудозатраты меньше, Не в этом случае. Кроме того, судя по описанию, работа не разовая, а очень даже регулярная и с суммарно приличными объёмами данных. Vladimir Baskakov - а скорость работы программы так ли сильно пострадает? Весьма и весьма. Нормальная программа для этой задачи представляет собой трубу ввод-вывод с фильтром и эффективно параллелится, а с БД придётся сначала всё загрузить, потом обрабатывать (и небось сортировкой - судя по Дмитрию ФБ другого не умеет, лайт тоже вряд ли кто оптимизировал), потом выгружать, и всё это с приседаниями и ненужными проблемами (скажем, конвертацией чисел в какой-нибудь BCD-шный decimal). ... |
|||
:
Нравится:
Не нравится:
|
|||
18.04.2012, 11:06 |
|
СУБД для временного хранения данных из бинарного файла (под Delphi).
|
|||
---|---|---|---|
#18+
P.S. Не говоря уже о том, что БД будет склонна ещё раз записать эти данные на диск, особенно если они не будут влезать в объём оперативки. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.04.2012, 11:07 |
|
СУБД для временного хранения данных из бинарного файла (под Delphi).
|
|||
---|---|---|---|
#18+
я боюсь, что если не хватит объема оперативки - своп тоже что-то запишет на диск))))). В индексах БД те-же деревья..... которые используются для удаления дублей из множеств? если совсем грубо? анализ содержимого реляционной БД - запросы с груп-баями. насколько они разнообразны, и насколько просто писать их аналог над самопальными структурами данных? Будет ли эта самопальщина в итоге быстрее? Стебелек дарит надежду! http://www.sql.ru/forum/actualthread.aspx?tid=863510 - фтристарас.... Я ничего не путаю? ... |
|||
:
Нравится:
Не нравится:
|
|||
18.04.2012, 11:27 |
|
СУБД для временного хранения данных из бинарного файла (под Delphi).
|
|||
---|---|---|---|
#18+
ну и уж если самому.... то может книжка подскажет.... Бакнелл. "Фундаментальные алгоритмы с структуры данных в Delphi" ... |
|||
:
Нравится:
Не нравится:
|
|||
18.04.2012, 11:32 |
|
СУБД для временного хранения данных из бинарного файла (под Delphi).
|
|||
---|---|---|---|
#18+
Я уже совсем запутался. Запихал все в динамический массив, по крайней мере все влазит в оперативу, и теперь надо это все обрабатывать. Если с субд мне было более ли менее ясно что и как - есть физическая база, к которой я делаю запрос, то с массивом в оперативке мне вообще ничего не ясно. Я к сожалению просто любитель в программировании. Массив делаю так: 1. Объявляю тип record, в котором описываю свои данные Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13.
Код: plaintext 1. 2. 3. 4. 5.
Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16.
... |
|||
:
Нравится:
Не нравится:
|
|||
18.04.2012, 12:39 |
|
СУБД для временного хранения данных из бинарного файла (под Delphi).
|
|||
---|---|---|---|
#18+
Freimaks, СУБД с данными работает, а не с файлами и записями... ... |
|||
:
Нравится:
Не нравится:
|
|||
18.04.2012, 12:42 |
|
СУБД для временного хранения данных из бинарного файла (под Delphi).
|
|||
---|---|---|---|
#18+
SergSuperFreimaks, СУБД с данными работает, а не с файлами и записями... Ну это понятно... я вроде и не говорил, что я субд хочу целый файл запихать. Я хотел туда писать данные из файла. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.04.2012, 12:49 |
|
|
start [/forum/topic.php?fid=35&msg=37758866&tid=1552562]: |
0ms |
get settings: |
12ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
35ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
58ms |
get tp. blocked users: |
1ms |
others: | 14ms |
total: | 156ms |
0 / 0 |