|
Таблица данных, архитектурный вопрос
|
|||
---|---|---|---|
#18+
Добрый день! C# .net 4.0. Реализую для своих нужд такую сущность как таблицу данных для оперативной записи/чтения данных этой таблицы, число колонок планируется в 10-20 штук, типы колонок стандартные Int, string, datetime и т.д. Число строк планируется в районе 50000-100000, все данные должны хранится в памяти, заполняются по мере поступлению данных в первом случае, во втором при загрузке снепшота данных. Обращения к элементам таблицы по ключевому полю таблицы. Что бы не изобретать велосипед решил посоветоваться быть может есть уже готовые решение, либо получить советы по архитектуре такой сущности. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.12.2012, 16:57 |
|
Таблица данных, архитектурный вопрос
|
|||
---|---|---|---|
#18+
FordSoft, DataTable смотрел? ... |
|||
:
Нравится:
Не нравится:
|
|||
14.12.2012, 17:26 |
|
Таблица данных, архитектурный вопрос
|
|||
---|---|---|---|
#18+
FordSoft, Баз данных из одной таблицы не бывает. А что такое "снепшот"? ... |
|||
:
Нравится:
Не нравится:
|
|||
14.12.2012, 18:44 |
|
Таблица данных, архитектурный вопрос
|
|||
---|---|---|---|
#18+
Посмотрел DataTable, что то мне кажется он слишком громоздким, отъедает память при большом кол-ве строк. По архитектуре думаю использовать unsafe массивы generuic, с автоматическим ресайзом размера массива по мере надобности, и обращению к строке по индексу массива. Кто что может посоветовать по этому поводу? ... |
|||
:
Нравится:
Не нравится:
|
|||
14.12.2012, 18:46 |
|
Таблица данных, архитектурный вопрос
|
|||
---|---|---|---|
#18+
FordSoftЧто бы не изобретать велосипед решил посоветоваться быть может есть уже готовые решение, либо получить советы по архитектуре такой сущности. что бы быстро работало, можно сделать обычный массив(или список) классов/структур а ключ выборосить в Dictionary. соответсвенно при записи/изменении вносить всю инфу и в массив и в словарь. словарь по ключевому полю. делается всё это быстро , а работает очень быстро. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.12.2012, 18:50 |
|
Таблица данных, архитектурный вопрос
|
|||
---|---|---|---|
#18+
Cat2, Скажем так, это не БД как таковая, т.е. там не нужно связей между таблицами. Задачу можно представить как разработку сущности плоской таблицы в которую нужно очень быстро записать строку, и очень быстро прочесть строку по индексу(ключевому полю). Данные в такой таблицы нужны оперативно, для моментальных расчетов параметров по этим данным. Они могут пополнятся в процессе дня, из БД, со стека TCP, откуда угодно. Снепшот я имел ввиду, что я к примеру могу серилизовать эту таблицу с памяти в файл, и обратно дессериализовать (Очень нужно когда к примеру порог кол-во записей в таблице превысит критическую точку, и необходимо слить их в файл). ... |
|||
:
Нравится:
Не нравится:
|
|||
14.12.2012, 18:53 |
|
Таблица данных, архитектурный вопрос
|
|||
---|---|---|---|
#18+
FordSoft, А чем универсальный словарь плох? ... |
|||
:
Нравится:
Не нравится:
|
|||
14.12.2012, 18:57 |
|
Таблица данных, архитектурный вопрос
|
|||
---|---|---|---|
#18+
FordSoftСкажем так, это не БД как таковая, т.е. там не нужно связей между таблицами. Это Вам только кажется ... |
|||
:
Нравится:
Не нравится:
|
|||
14.12.2012, 21:34 |
|
Таблица данных, архитектурный вопрос
|
|||
---|---|---|---|
#18+
FordSoftЧто бы не изобретать велосипед решил посоветоваться быть может есть уже готовые решение, либо получить советы по архитектуре такой сущности. IEnumerable<T> ... |
|||
:
Нравится:
Не нравится:
|
|||
14.12.2012, 23:36 |
|
Таблица данных, архитектурный вопрос
|
|||
---|---|---|---|
#18+
Cat2, что за вздор, даже пол таблицы это база данных ) но не реляционная конечно. но это её свойств БЗ не лишает. у автора 50к-100к строк, по моему это такое маленько количество, что чем бы он не реализовывал ни чего не поменяется, можно даже в txt файле всё хранить и не думаю, что разница будет ощутимой :) ... |
|||
:
Нравится:
Не нравится:
|
|||
15.12.2012, 09:42 |
|
Таблица данных, архитектурный вопрос
|
|||
---|---|---|---|
#18+
МСУFordSoftЧто бы не изобретать велосипед решил посоветоваться быть может есть уже готовые решение, либо получить советы по архитектуре такой сущности. IEnumerable<T> МСУ, торопитесь :-) FordSoftДобрый день! C# .net 4.0. Реализую для своих нужд такую сущность как таблицу данных для оперативной записи/чтения данных этой таблицы, число колонок планируется в 10-20 штук, типы колонок стандартные Int, string, datetime и т.д. Число строк планируется в районе 50000-100000, все данные должны хранится в памяти, заполняются по мере поступлению данных в первом случае, во втором при загрузке снепшота данных. Обращения к элементам таблицы по ключевому полю таблицы. Что бы не изобретать велосипед решил посоветоваться быть может есть уже готовые решение, либо получить советы по архитектуре такой сущности. Колонки не нужны. Создаете класс со свойствами, аналогичными колонкам. И используете экземпляры этого класса в ConcurrentDictionary ... |
|||
:
Нравится:
Не нравится:
|
|||
15.12.2012, 10:08 |
|
|
start [/forum/topic.php?fid=20&msg=38080415&tid=1405498]: |
0ms |
get settings: |
10ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
84ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
58ms |
get tp. blocked users: |
2ms |
others: | 319ms |
total: | 511ms |
0 / 0 |