|
ru.website- RU.WEBSITE ------------------------------------------------------------------- From : Alexander Temerev 2:5004/21.6 04 Aug 2000 23:04:59 To : All Subject : Object-Oriented Data Storage -------------------------------------------------------------------------------- Есть необходимость в хранении и доступе к довольно сложной структуре данных. Цель - формировать оттуда по запросам XML-документы (см. ниже). Основные критерии - производительность (пиковая нагрузка - на уровне 5-15 запросов в секунду на Celeron 433/64M, но это редко, обычно - 2-3 запроса в минуту), удобство доступа (если это все будет представлено в виде объектов с соответствующими полями, будет просто зашибись), наличие Perl-интерфейса. Пока вижу варианты: 1) Раскидать все по реляционной базе данных и собирать оттуда по кусочкам. Требует написания довольно большого количества кода, подразумевает сложные запросы, пагубно влияет на производительность. 2) Использовать объектно-реляционные базы данных вроде PostgreSQL или Oracle. Желательно обойтись без Oracle, так как он стоит неслабых денег. Hедостатки: работу с объектами придется писать на C++ или Java, так как перлового интерфейса к объектным фичам нет ни там, ни там. 3) Использовать истинно объектно-ориентированные базы данных вроде Gemstone или Jasmine. Hедостатки: стоят денег, перловым интерфейсом там и не пахнет, ориентированы на определенные языки (Java и Smalltalk в случае Gemstone, Java и C++ в случае Jasmine). Внимание, вопрос: у кого-нибудь есть идеи, как можно это хранить в соответствии с вышеобозначенными требованиями? Пример того, что мы будем формировать из данных в базе: >=== Hачало Windows Clipboard ===< <?xml version="1.0"?> <main> <pricelist date="12.07.2000"> <default currency="RUR" unit="шт"/> <item category="Оргтехника" vendor="Nokia" name="Nokia 8810"> <type level="1">Сотовые телефоны</type> <type level="2">GSM</type> <feature>WAP</feature> <sale company="Мобильные системы связи"> <price name="Для физических лиц" value="11300"/> <price name="Для юридических лиц" value="10200"/> </sale> <sale company="Билайн"> <price value="340" currency="USD"/> </sale> </item> <item category="Оргтехника" vendor="Motorola" name="StarTac S30"> <type level="1">Сотовые телефоны</type> <type level="2">AMPS/DAMPS</type> <sale company="Мобильные системы связи"> <price name="Для физических лиц" value="7200"/> <price name="Для юридических лиц" value="6700"/> </sale> <sale company="Билайн"> <price value="225" currency="USD"/> </sale> </item> <item category="Компьютеры" name="Intel Celeron 433"> <type level="1">Компьютеры</type> <param name="Motherboard" name="Acorp ATX"> <param name="CPU" value="Intel Celeron 433 Mhz"/> <param name="RAM" value="64M"> <type="SDRAM"/> </param> <param name="HDD" value="Seagate Medalist S9970 14G"/> <param name="Video" value="Voodoo 3 2000"/> <feature>Корпус ATX</feature> <feature>Keyboard</feature> <feature>Mouse</feature> <sale company="Коммед"> <price name="Розничная" value="17700"/> <price name="Льготная" value="17150"/> <price name="Оптовая" value="16300"/> </sale> <sale company="MagiCom"> <price name="Стандартная" value="415" currency="USD"/> <price name="Льготная" value="407" currency="USD"/> </sale> </item> <item category="Продукты питания" name="Мука пшеничная"> <type>В/c</type> <sale company="Регион-трейд"> <price name="Розничная" value="390" unit="мешок"/> <price name="Мелкий опт" value="370" unit="мешок" min="10"/> <price name="Крупный опт" value="335" unit="мешок" min="100"/> </sale> <sale company="Виагра Ltd."> <price name="Розничная" value="384" unit="мешок"/> <price name="Оптовая" value="340" unit="контейнер"/> </sale> </item> </pricelist> </main> >=== Кончало Windows Clipboard ===< Alexander Temerev, sorhed@omskmail.ru --- 21st Century Schizoid Man * Origin: Paseo de Gracia (2:5004/21.6) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.website/22415398b4c43.html, оценка из 5, голосов 10
|