powered by simpleCommunicator - 2.0.49     © 2025 Programmizd 02
Форумы / Другие СУБД [игнор отключен] [закрыт для гостей] / СУБД для хранения графов/матрицы связности
5 сообщений из 5, страница 1 из 1
СУБД для хранения графов/матрицы связности
    #38881725
Spinifex
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Коллеги,
Ищу СУБД для хранения графа. Граф не направленный, не взвешенный, размерность графа не более 100 000 узлов.
По факту нужно хранить матрицу 100 000 на 100 000, где каждый бит указывает на наличие связи. Такую СУБД в принципе не долго и самому написать, но есть проблема, что пользоваться ей должны из нескольких приложений, написанных на разных языках. Так что какое-то готовое решение - предпочтительнее.


Сейчас храним данные в SQL сервер, для каждой связи - запись в таблице. Не устраивает скорость проверки наличия связи и скорость добавления новой связи. Очевидно, что в случае с матрицей можно добиться наилучшей производительности.
Есть ли что-то похожее?
...
Рейтинг: 0 / 0
СУБД для хранения графов/матрицы связности
    #38881834
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SpinifexСейчас храним данные в SQL сервер, для каждой связи - запись в таблице. Не устраивает скорость проверки наличия связи и скорость добавления новой связи.
DDL таблицы покажете? Индекс на поля, хранящие вершины, есть?
...
Рейтинг: 0 / 0
СУБД для хранения графов/матрицы связности
    #38881953
Spinifex
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dimitry SibiryakovSpinifexСейчас храним данные в SQL сервер, для каждой связи - запись в таблице. Не устраивает скорость проверки наличия связи и скорость добавления новой связи.
DDL таблицы покажете? Индекс на поля, хранящие вершины, есть?

Как-то так:
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
[Relation](
	[ID1] [int] NOT NULL,
	[ID2] [int] NOT NULL,
 CONSTRAINT [PK__Relation] PRIMARY KEY CLUSTERED 
(
	[ID1] ASC,
	[ID2] ASC
)
WITH (PAD_INDEX  = OFF, STATISTICS_NORECOMPUTE  = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS  = ON, ALLOW_PAGE_LOCKS  = ON) ON [PRIMARY]
) ON [PRIMARY]

ALTER TABLE [Relation]  WITH CHECK ADD  CONSTRAINT [CK__Relation__ID1__ID2] CHECK  (([ID1]<=[ID2]))

CREATE NONCLUSTERED INDEX [IX_Relation__ID2__ID1] ON [Relation] 
(
	[ID2] ASC
)
INCLUDE ( [ID1]) WITH (PAD_INDEX  = OFF, STATISTICS_NORECOMPUTE  = OFF, SORT_IN_TEMPDB = OFF, IGNORE_DUP_KEY = OFF, DROP_EXISTING = OFF, ONLINE = OFF, ALLOW_ROW_LOCKS  = ON, ALLOW_PAGE_LOCKS  = ON) ON [PRIMARY]
...
Рейтинг: 0 / 0
СУБД для хранения графов/матрицы связности
    #38882937
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SpinifexНе устраивает скорость проверки наличия связи и скорость добавления новой связи.
А каким запросом проверяете наличие связи и каким - добавляете новую? Покажете их планы и статистику?
...
Рейтинг: 0 / 0
СУБД для хранения графов/матрицы связности
    #38884283
lookat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Spinifex,

Neo4j ?
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / Другие СУБД [игнор отключен] [закрыт для гостей] / СУБД для хранения графов/матрицы связности
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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