powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Работа с большими данными
25 сообщений из 112, страница 1 из 5
Работа с большими данными
    #39507923
Приветствую

Подскажите решение следующей задачи

Есть текстовые данные - порядка 2 тб в виде набора файлов ( файлы от 200 мб до 150 гб )
Задача проверить все файлы и удалить дубликаты ( а так же скомпоновать данные )

Правильным ли решением будет использовать для этого СУБД ?
т.e

1 - читаем файл с данными построчно
2 - вносим данные в БД
3 - перед внесением данных проверяем есть ли уже такая запись в БД

Отсюда вопросы

- как лучше проверять уникальность ? SELECT ? LIKE ? хранимой процедурой ? триггером на INSERT ?
- Какую БД лучше всего использовать ? Есть опыт работы с MySQL, MSSQL, SQLite, Firebird
- Есть ли готовые решения для поиска дубликатов в таких обьемах данных ?
...
Рейтинг: 0 / 0
Работа с большими данными
    #39507925
> и удалить дубликаты

Дубликаты данных которые находятся в файлах
...
Рейтинг: 0 / 0
Работа с большими данными
    #39507927
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Андрей Александрович., успех этого мероприятия зависит от ваших ресурсов.
Самый прямой и надежный вариант - загрузить используя всякие базёвые
утилиты *loader-s ваши данные в одну табличку. И delete-ом почистить
дубликаты. В запросе использовать аналитические функции (PARTITION BY).
...
Рейтинг: 0 / 0
Работа с большими данными
    #39507940
mikron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Андрей Александрович.2 тб в виде набора файлов ( файлы от 200 мб до 150 гб
Это реально много.
Андрей Александрович.Правильным ли решением будет использовать для этого СУБД ?
Скорее нет чем да. И скорее всего все другие вопросы не релевантны.
Андрей Александрович.- Есть ли готовые решения для поиска дубликатов в таких обьемах данных ?
Возможно есть в биоинформатике. Но ваша задача, если я правильно предпологаю, не поиск одного дупликата и не поиск всех дупликатов.

Для создания списков уникальных значений потребуется на скромный взгляд ещё 2 - 3 ТБ.
И считатся это будет наверно дни. на вскидку и без базы данных. Такая работа стоит времени специалиста и за пределами бесплатных консультаций. ИМХО.
...
Рейтинг: 0 / 0
Работа с большими данными
    #39507941
Siemargl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mikron,

хэширование спасет мир
...
Рейтинг: 0 / 0
Работа с большими данными
    #39507947
982183
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
1. Речь идет о текстовой неструктурированной информации, или о реляционных данных, хранящихся в текстовом виде?
во втором случае каково количество полей данных?
2. Чем вызван такой способ хранения данных?
2. Чем отличаются отдельные файлы. (Это последовательно обрезанный поток данных, или это данные с разных источников?)
...
Рейтинг: 0 / 0
Работа с большими данными
    #39507950
ВМоисеев
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>Андрей Александрович., вчера, 23:25 http://www.sql.ru/forum/actualutils.aspx?action=gotomsg&tid=1269329&msg=20736437] [20736437]

>...Правильным ли решением будет использовать для этого СУБД ? ...
Рассмотрите такой вариант:
1. Все текстовые файлы находятся в папке файлового сервера - смысловая часть.
2. Поисковая часть (суррогатный_ключ, пользовательское_имя_файла, группа, когда_создан и т.п) находится в записях таблицы(ц) базы данных.
3. Файлы смысловой части имеют имена производные от суррогатного ключа.

С уважением,
Владимир.
...
Рейтинг: 0 / 0
Работа с большими данными
    #39507953
9821831. Речь идет о текстовой неструктурированной информации, или о реляционных данных, хранящихся в текстовом виде?
во втором случае каково количество полей данных?


Файлы представляют собой хранилища слов всех языков мира
те списки слов на разных языках

9821832. Чем вызван такой способ хранения данных?


Дали файлы - сказали решить вопрос с дубликатами и хранением

9821832. Чем отличаются отдельные файлы. (Это последовательно обрезанный поток данных, или это данные с разных источников?)

Это файлы с разных источников ( часто даже с различным способом хранения данных - те нужно будет к каждому файлу писать парсер или свою проверку корректности данных. Учитывая что там еще слова на разных языках то переводить все в UNICODE )
...
Рейтинг: 0 / 0
Работа с большими данными
    #39507954
mikronВозможно есть в биоинформатике. Но ваша задача, если я правильно предпологаю, не поиск одного дупликата и не поиск всех дупликатов.


Задача - очистка данных от повторяющихся слов
А так же упорядочивание данных при возможности

mikronДля создания списков уникальных значений потребуется на скромный взгляд ещё 2 - 3 ТБ.
И считатся это будет наверно дни. на вскидку и без базы данных. Такая работа стоит времени специалиста и за пределами бесплатных консультаций. ИМХО.

Есть свободные 3 тб те куда делать временные таблицы есть
По времени если пересчет займет 3-9 дней - не проблема. Вопрос именно в том как наиболее быстро сделать чтобы поиск добавление в БД не заняло например месяц или больше

Я так подозреваю что после решение этой задачи станет обработка данных
А лучше всего это делать если данные будут упорядоченны например в БД
...
Рейтинг: 0 / 0
Работа с большими данными
    #39507958
982183
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Андрей Александрович.Файлы представляют собой хранилища слов всех языков мира
те списки слов на разных языках
Т.е. намечается два поля - "Язык" (который берем из файла) и "Cлово"

982183Дали файлы - сказали решить вопрос с дубликатами и хранением
Наверно с хранением и дубликатами.

982183Это файлы с разных источников ( часто даже с различным способом хранения данных - те нужно будет к каждому файлу писать парсер или свою проверку корректности данных. Учитывая что там еще слова на разных языках то переводить все в UNICODE )
Так эта задача однако на порядок сложнее, чем организовать хранение и чистку.
...
Рейтинг: 0 / 0
Работа с большими данными
    #39507959
982183
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Почему на этом гр*** форуме нельзя редактировать посты....
Обычную описку исправить нельзя.
...
Рейтинг: 0 / 0
Работа с большими данными
    #39507960
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Из коробочных решенийй.

Можно посмотреть на unix-утилиты такие как:
1) sort -u
2) unique

и посмотреть их настройки в части использования $tmp как пространства для сортировок.

Если эти коробочные штуки "не взлетят" то можно попробовать грузить в БД. Но грузить
надо грамотно. Учитывая объем - желательно использовать утилиты для bulk/batch загрузки.
Но дальше об этом говорить безсмысленно. Автор должен сообщить нам какая именно
dbms у него выбрана и дальше уже можно что-то советовать более конкретно.
...
Рейтинг: 0 / 0
Работа с большими данными
    #39507961
982183
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А что делать с омонимами?
...
Рейтинг: 0 / 0
Работа с большими данными
    #39507962
maytonИз коробочных решенийй.

Можно посмотреть на unix-утилиты такие как:
1) sort -u
2) unique

и посмотреть их настройки в части использования $tmp как пространства для сортировок.



Спасибо
Изучу

maytonЕсли эти коробочные штуки "не взлетят" то можно попробовать грузить в БД. Но грузить
надо грамотно. Учитывая объем - желательно использовать утилиты для bulk/batch загрузки.
Но дальше об этом говорить безсмысленно. Автор должен сообщить нам какая именно
dbms у него выбрана и дальше уже можно что-то советовать более конкретно.

Вот это был один из вопросов
Есть опыт работы с СУБД

MySQL, MSSQL, SQLite, Firebird
Какую посоветуете для хранения больших данных ? ( к сожалению с Oracle не работал )
...
Рейтинг: 0 / 0
Работа с большими данными
    #39507965
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Андрей Александрович.Вот это был один из вопросов
Есть опыт работы с СУБД

MySQL, MSSQL, SQLite, Firebird
Какую посоветуете для хранения больших данных ? ( к сожалению с Oracle не работал )

По этим СУБД я не специалист. Я больше по Oracle.

Немного работал с MSSQL. И конечно исходя
из авторитета самого вендора я порекомендую MSSQL. Кроме того есть
мысль что аналитические (оконные) функции там поддерживаются.

По поводу SQLite - есть сомнения. Она очень производительная но работает
в условиях когда data segment помещается в оперативку. Если вам удастся
ваш самый крупный справочник прогрузить в SQLite - тогда все будет ОК.
Но и с PARTITION BY надо тоже проверить.

По поводу остальных. Велкам в Сравнение. Задавайте вопросы там. Думаю что помогут.
http://www.sql.ru/forum/db-comparison
...
Рейтинг: 0 / 0
Работа с большими данными
    #39507973
schi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
По-моему можно вызять любую СУБД и организовать в ней таблицу с одним полем и уникальным индексом по нему. Далее последовательно читать все файлы и каждое слово пытаться записать в эту таблицу. Если не удалось, то значит дубль, если удалось, то записывать слово в выходной файл.

(Насколько я понял задачу).
...
Рейтинг: 0 / 0
Работа с большими данными
    #39507976
982183
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Т.Е отсечь дублирование на этапе импорта данных....
мысль хорошая.
...
Рейтинг: 0 / 0
Работа с большими данными
    #39507977
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А я понял задачу так: например есть у нас три файла разного формата, в каждом из которых подмножество слов французского языка.
Нужно данные каждого файла распарсить, нормализовать и залить в БД.

ИМХО - это простой импорт из различных источников.
Заливаем данные файла в промежуточную таблицу в схеме import, перегоняем в основную только те слова, которых там ещё нет (WHERE NOT EXISTS).
В основной таблице должен быть соответсвующий индекс.
...
Рейтинг: 0 / 0
Работа с большими данными
    #39507978
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ИМХО большая часть времени уйдёт на написание партеров-загрузчиков из различных форматов.
...
Рейтинг: 0 / 0
Работа с большими данными
    #39507979
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Чисто в качестве brainstorm ... можно попробовать зарегаться в Amazon AWS.
И там будут доступны всякие API и хранилища для толстых данных.

Попробовать прогрузить туда табличку в 150Гиг и там отфильтровать.

Возможно но этом шаге Amazon попросит оплатить услугу а может и нет.
Вобщем я-б попробовал. Или взять табличку в два раза меньше и еще раз
попробовать.
...
Рейтинг: 0 / 0
Работа с большими данными
    #39507980
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Андрей Александрович.,

а вообще как эти данные потом будут использоваться? А то можно и в MongoDB их засунуть с шардированием из коробки.
...
Рейтинг: 0 / 0
Работа с большими данными
    #39507981
Aleksandr Sharahov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Все слова одного языка вполне можно обработать в оперативной памяти.
...
Рейтинг: 0 / 0
Работа с большими данными
    #39507988
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Aleksandr Sharahov, на чем будешь писать? Delphi? C#?
...
Рейтинг: 0 / 0
Работа с большими данными
    #39507990
skyANAАндрей Александрович.,

а вообще как эти данные потом будут использоваться? А то можно и в MongoDB их засунуть с шардированием из коробки.

По данным планируется поиск и выборка по 200 - 300 тыс записей
...
Рейтинг: 0 / 0
Работа с большими данными
    #39507992
maytonAleksandr Sharahov, на чем будешь писать? Delphi? C#?

Возможно вопрос автору темы

Писать планирую на delphi
...
Рейтинг: 0 / 0
25 сообщений из 112, страница 1 из 5
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Работа с большими данными
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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