Модераторы: skyboy
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> хранение и индексирование xml 
:(
    Опции темы
isergey
Дата 25.1.2010, 19:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 30
Регистрация: 28.5.2008

Репутация: нет
Всего: нет



Задача: организация  хранения и поиск по нечетко струкутированной информации.
В общем виде он выглядит так:
Код

<record>
        <leader>00834nw   2200193n  4500</leader>
        <controlfield tag="001">CF 91000008</controlfield>
        <controlfield tag="003">DLC</controlfield>
        <controlfield tag="005">19960528091722.0</controlfield>
        <controlfield tag="008">910215acaaaaaa</controlfield>
        <datafield tag="010" ind1=" " ind2=" ">
            <subfield code="a">CF 91000008</subfield>
        </datafield>
        <datafield tag="040" ind1=" " ind2=" ">
            <subfield code="a">DLC</subfield>
            <subfield code="c">DLC</subfield>
        </datafield>
        <datafield tag="084" ind1="0" ind2=" ">
            <subfield code="a">lcc</subfield>
        </datafield>
        <datafield tag="153" ind1=" " ind2=" ">
            <subfield code="a">HF1</subfield>
            <subfield code="c">HF6182</subfield>
            <subfield code="j">Commerce</subfield>
        </datafield>
        <datafield tag="453" ind1="0" ind2=" ">
            <subfield code="w">j</subfield>
            <subfield code="a">HT684.22</subfield>
            <subfield code="h">Communities.  Classes.  Races</subfield>
            <subfield code="h">Classes</subfield>
            <subfield code="h">Classes arising from occupation</subfield>
            <subfield code="h">Middle class</subfield>
            <subfield code="j">Commercial</subfield>
        </datafield>
        <datafield tag="553" ind1="0" ind2=" ">
            <subfield code="w">j</subfield>
            <subfield code="a">HE380.8</subfield>
            <subfield code="c">HE560</subfield>
            <subfield code="h">Transportation and communications</subfield>
            <subfield code="h">Water transportation</subfield>
            <subfield code="j">Waterways</subfield>
            <subfield code="t">commerce</subfield>
        </datafield>
        <datafield tag="553" ind1="0" ind2=" ">
            <subfield code="w">l</subfield>
            <subfield code="a">HE1</subfield>
            <subfield code="c">HE9900</subfield>
            <subfield code="j">Transportation and communications</subfield>
            <subfield code="t">Commerce</subfield>
        </datafield>
        <datafield tag="553" ind1="0" ind2=" ">
            <subfield code="w">l</subfield>
            <subfield code="a">HE561</subfield>
            <subfield code="c">HE971</subfield>
            <subfield code="h">Transportation and communications</subfield>
            <subfield code="h">Water transportation</subfield>
            <subfield code="j">Shipping</subfield>
            <subfield code="t">Commerce</subfield>
        </datafield>
        <datafield tag="553" ind1="0" ind2=" ">
            <subfield code="w">l</subfield>
            <subfield code="a">GT6010</subfield>
            <subfield code="c">GT6060</subfield>
            <subfield code="h">Manners and customs (General)</subfield>
            <subfield code="h">Customs relative to special classes.  By occupation</subfield>
            <subfield code="j">Commercial occupations</subfield>
            <subfield code="t">Commerce</subfield>
        </datafield>
        <datafield tag="753" ind1=" " ind2=" ">
            <subfield code="a">Commerce</subfield>
        </datafield>
    </record>

Т.е. как видно, datafield tag="553" может повторяться сколь угодно. Вопрос, как осуществлять поиск по этому XML в РДБ. Я пробовал хранить 12000 таких записей в MySQL и делать выборку через XPATH, но этот процесс выполнялся около секунды, что совершенно не подходит для задачи. Как можно ускорить обработку XML данных (в различных БД, желательно свободных), какие индексы использовать (можно ли индексировать отдельные ноды?). Заранее благодарю!
PM MAIL   Вверх
sTa1kEr
Дата 25.1.2010, 20:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


9/10 программиста
***


Профиль
Группа: Завсегдатай
Сообщений: 1553
Регистрация: 21.2.2007

Репутация: 7
Всего: 146



Я думаю вам стоит посмотреть в сторону MS SQL.
XML Support in Microsoft SQL Server 2005 
PM MAIL   Вверх
Simpliest
Дата 25.1.2010, 21:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 625
Регистрация: 1.9.2009

Репутация: нет
Всего: 3



isergey, почему не EAV?
Это, конечно, не сахар, но много лучше XML БД.


--------------------
user posted image
PM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | MySQL | Следующая тема »


 




[ Время генерации скрипта: 0.0659 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.