powered by simpleCommunicator - 2.0.58     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Таблица данных, архитектурный вопрос
12 сообщений из 12, страница 1 из 1
Таблица данных, архитектурный вопрос
    #38079772
FordSoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добрый день!
C# .net 4.0.

Реализую для своих нужд такую сущность как таблицу данных для оперативной записи/чтения данных этой таблицы, число колонок планируется в 10-20 штук, типы колонок стандартные Int, string, datetime и т.д. Число строк планируется в районе 50000-100000, все данные должны хранится в памяти, заполняются по мере поступлению данных в первом случае, во втором при загрузке снепшота данных. Обращения к элементам таблицы по ключевому полю таблицы.

Что бы не изобретать велосипед решил посоветоваться быть может есть уже готовые решение, либо получить советы по архитектуре такой сущности.
...
Рейтинг: 0 / 0
Таблица данных, архитектурный вопрос
    #38079847
bazile
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
FordSoft, DataTable смотрел?
...
Рейтинг: 0 / 0
Таблица данных, архитектурный вопрос
    #38079973
Фотография Cat2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
FordSoft,

Баз данных из одной таблицы не бывает.
А что такое "снепшот"?
...
Рейтинг: 0 / 0
Таблица данных, архитектурный вопрос
    #38079978
FordSoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Посмотрел DataTable, что то мне кажется он слишком громоздким, отъедает память при большом кол-ве строк.

По архитектуре думаю использовать unsafe массивы generuic, с автоматическим ресайзом размера массива по мере надобности, и обращению к строке по индексу массива. Кто что может посоветовать по этому поводу?
...
Рейтинг: 0 / 0
Таблица данных, архитектурный вопрос
    #38079984
beg-in-er
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
FordSoftЧто бы не изобретать велосипед решил посоветоваться быть может есть уже готовые решение, либо получить советы по архитектуре такой сущности.
что бы быстро работало, можно сделать обычный массив(или список) классов/структур а ключ выборосить в Dictionary. соответсвенно при записи/изменении вносить всю инфу и в массив и в словарь.
словарь по ключевому полю.
делается всё это быстро , а работает очень быстро.
...
Рейтинг: 0 / 0
Таблица данных, архитектурный вопрос
    #38079988
FordSoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Cat2,

Скажем так, это не БД как таковая, т.е. там не нужно связей между таблицами.

Задачу можно представить как разработку сущности плоской таблицы в которую нужно очень быстро записать строку, и очень быстро прочесть строку по индексу(ключевому полю).

Данные в такой таблицы нужны оперативно, для моментальных расчетов параметров по этим данным. Они могут пополнятся в процессе дня, из БД, со стека TCP, откуда угодно. Снепшот я имел ввиду, что я к примеру могу серилизовать эту таблицу с памяти в файл, и обратно дессериализовать (Очень нужно когда к примеру порог кол-во записей в таблице превысит критическую точку, и необходимо слить их в файл).
...
Рейтинг: 0 / 0
Таблица данных, архитектурный вопрос
    #38079995
Lexxxxx
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
FordSoft,

А чем универсальный словарь плох?
...
Рейтинг: 0 / 0
Таблица данных, архитектурный вопрос
    #38080165
Фотография Cat2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
FordSoftСкажем так, это не БД как таковая, т.е. там не нужно связей между таблицами.
Это Вам только кажется
...
Рейтинг: 0 / 0
Таблица данных, архитектурный вопрос
    #38080287
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
FordSoftЧто бы не изобретать велосипед решил посоветоваться быть может есть уже готовые решение, либо получить советы по архитектуре такой сущности.
IEnumerable<T>
...
Рейтинг: 0 / 0
Таблица данных, архитектурный вопрос
    #38080409
Roman Mejtes
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Cat2,

что за вздор, даже пол таблицы это база данных ) но не реляционная конечно. но это её свойств БЗ не лишает.
у автора 50к-100к строк, по моему это такое маленько количество, что чем бы он не реализовывал ни чего не поменяется, можно даже в txt файле всё хранить и не думаю, что разница будет ощутимой :)
...
Рейтинг: 0 / 0
Таблица данных, архитектурный вопрос
    #38080415
Arm79
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУFordSoftЧто бы не изобретать велосипед решил посоветоваться быть может есть уже готовые решение, либо получить советы по архитектуре такой сущности.
IEnumerable<T>

МСУ, торопитесь :-)


FordSoftДобрый день!
C# .net 4.0.

Реализую для своих нужд такую сущность как таблицу данных для оперативной записи/чтения данных этой таблицы, число колонок планируется в 10-20 штук, типы колонок стандартные Int, string, datetime и т.д. Число строк планируется в районе 50000-100000, все данные должны хранится в памяти, заполняются по мере поступлению данных в первом случае, во втором при загрузке снепшота данных. Обращения к элементам таблицы по ключевому полю таблицы.

Что бы не изобретать велосипед решил посоветоваться быть может есть уже готовые решение, либо получить советы по архитектуре такой сущности.

Колонки не нужны. Создаете класс со свойствами, аналогичными колонкам. И используете экземпляры этого класса в ConcurrentDictionary
...
Рейтинг: 0 / 0
Таблица данных, архитектурный вопрос
    #38080514
Arm79
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
FordSoft...при загрузке снепшота данных...

Забыл добавить: двоичная или xml сериализация
...
Рейтинг: 0 / 0
12 сообщений из 12, страница 1 из 1
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Таблица данных, архитектурный вопрос
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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