Гость
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / запись в бд 3-мерного списка / 6 сообщений из 6, страница 1 из 1
01.05.2018, 20:54
    #39638805
proj07
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
запись в бд 3-мерного списка
Есть лист юзеров в виде id. к каждому из них прикреплен лист с числами, к каждому числу еще один лист с числами.
Помимо этого каждый юзер и число первого списка имеет дополнительный набор данных. Визуально выглядит примерно так:
[
user1, somedata, [num1, num2, num3...]
somedata somedata somedata
[subnum1 [subnum1 [subnum1
subnum2 subnum2 subnum2
subnum3 subnum3 subnum3
... ] ...] ...]

user2, somedata, [num1, num2, num3...]
somedata somedata somedata
[subnum1 [subnum1 [subnum1
subnum2 subnum2 subnum2
subnum3 subnum3 subnum3
... ] ...] ...]

...
]
Первый и второй список предполагают содержать миллиарды записей. последний список до нескольких миллионов.
Строки второго и третьего измерения должны быть легко считываемы полностью по корневым числам и легко заносимы в память программы в виде той же структуры, с минимальной нагрузкой на цп.
Somedata любого уровня так же должна быть легко доступна по корневому числу в отдельности от других данных.
Какая структура хранения в бд этих записей наиболее оптимальна?
...
Рейтинг: 0 / 0
02.05.2018, 08:09
    #39638871
tip78
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
запись в бд 3-мерного списка
создаёте отдельные таблицы-индексы по нужным полям
...
Рейтинг: 0 / 0
02.05.2018, 08:10
    #39638872
tip78
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
запись в бд 3-мерного списка
в общем тоже самое, что в RDB, только руками

Модератор: Тема перенесена из форума "SQLite".
...
Рейтинг: 0 / 0
03.05.2018, 17:01
    #39639563
SERG1257
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
запись в бд 3-мерного списка
автор Визуально выглядит примерно так:Нихрена не визуально
proj07 Есть лист юзеров в виде id
Код: sql
1.
create table user_table (id primary key, user_info, some_data)


proj07 к каждому из них прикреплен лист с числами
Код: sql
1.
create table numbers1 (id primary key, user_table_id int references user_table, some_data)


proj07 к каждому числу еще один лист с числами.
Код: sql
1.
create table numbers2 (id primary key, numbers1_id_id int references numbers1, some_other_data)


proj07 Строки второго и третьего измерения должны быть легко считываемы полностью по корневым числамЧто есть втрое и третье измерение, что есть "корневые числа". Дайте определение в терминах БД.
proj07 Какая структура хранения в бд этих записей наиболее оптимальна? Давайте нарисуем простую понятную банальную "квадратно-гнездовую" структуру, а затем будем оптимизировать
...
Рейтинг: 0 / 0
03.05.2018, 17:14
    #39639571
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
запись в бд 3-мерного списка
proj07Какая структура хранения в бд этих записей наиболее оптимальна?
Кубы с любым количеством измерений, содержащие любое количество фактов, наиболее оптимально хранятся в виде одной таблицы:
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
create table данные
(
измерение1 integer,
измерение2 integer,
.......
измерениеN integer,
значение1 anytype,
значение2 anytype,
.......
значениеN anytype
)
...
Рейтинг: 0 / 0
04.05.2018, 14:49
    #39640092
alexeyvg
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
запись в бд 3-мерного списка
Dimitry SibiryakovКубы с любым количеством измерений, содержащие любое количество фактов, наиболее оптимально хранятся в виде одной таблицы:
[SRC sql][/SRC]+1

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


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