Я кодирую компонент на основе Java, чтобы выполнить некоторую переработку около миллиона элементов данных (следовательно, производительность имеет первостепенное значение).Reconcillation - любая java-библиотека?
Два источника данных: 1. Таблица в базе данных 2. Плоский файл.
В базе данных имеется несколько столбцов, которые должны совпадать с несколькими столбцами в файле. Данные не сортируются или что-то еще. Поэтому каждый элемент данных (скажем, это имя и соответствующий номер телефона) должен быть таким же в базе данных и в плоском файле. Например. если одна из строк в базе данных говорит для «john», номер «220 343 123», то строка в плоском файле для «john» должна иметь номер «220 343 123». Если нет, я сообщаю перерыв и перехожу дальше.
Конечно, я мог бы забрать каждую строку (из базы данных) и попытаться сопоставить ее с некоторой строкой в файле (ужасное стремление). Или я мог бы, сортировать таблицу и файл (как-то), прежде чем я сделать это (все еще неуклюжий) Или ... что-то еще
вопроса на форуме есть, знаете ли вы какой-либо библиотеки/инструмента (в java world), который можно было бы использовать для этого?
Спасибо.
OP больше заинтересован в вне-полке библиотеки/инструмент, чем подход, или алгоритма. – sgp15
@Fortega - ну, да, это один из способов. Но не считаете ли вы, что размещение карты из 1 миллиона элементов данных в памяти может быть слишком слишком обремененным аппаратным обеспечением (учитывая, что это всего лишь один компонент гораздо более крупной системы). Я не снимаю идею, я просто пытаюсь взглянуть на нее с разных точек зрения. – partha
Зависит от размера элементов данных и доступной памяти ... Поэтому я ничего не могу сказать об этом. – Fortega