13 October 2008 21:06
Работа с коллекциями данных.
На ранних этапах развития продукта требуется в кратчайшие сроки реализовать прототип. Это может быть крупный или небольшой проект ( медиа сайт, социальная сеть).
Существенную часть разработки составляет проектирование и реализация обработки данных. При этом важен выбор оптимального источника данных.
CRUD - Create, Read, Update и Delete
Различные системы хранения данных имеют свой API. Для реляционных баз данных это язык запросов SQL, для RESTful приложений - HTTP команды и т.д. Объединяет их базовый функционал: CRUD. CRUD - это Create, Read, Update и Delete. Возможны варианты, например Delete - Destroy, но смысл тот же.
Я попытался реализовать этот доступ к разным источникам с помощью этого интерфейса и добавить функционал, который решит следующие задачи:
- Запись только изменившихся данных
- Отложенное чтение данных
- Избежать повторного чтения одних и тех же данных
- "Зеркалирование" данных
- Смена хранилища данных с минимум услиий
Это своего рода "велосипед", но собранных из деталей разных "моделей" :-).
Collection - библиотека для работы с коллекциями данных
Результатом реализации этих идей стал модуль Collection. Он доступен на CPAN.
Обзору некоторых решений, которые в нем используются, посвящен мой доклад на BY_PERL.
В выступлении будет рассмотрен пример работы с классом Collection::AutoSQL.
Цитата для выступления...
Дональд Кнут:"Преждевременная оптимизация - это корень всех бед".