Лучший подход по работе с таблицами

Nick

Client
Регистрация
22.07.2014
Сообщения
1 983
Благодарностей
817
Баллы
113
Я тут запустил Code Creator и протащился по поводу того, как он генерит код. Уже сижу мечтаю, как я буду перемалывать Зенкой сайты, но у меня сейчас нет понимания одной важной вещи: как лучше всего работать с таблицами, если проекты пишешь на C#.

В любом среднем проекте есть есть схема реляционной базы данных (говоря по-простому, набор взаимосвязанных таблиц):
- данные пользователя
- список пользователей с дополнительными данными
- друзья пользователя (взаимосвязи)
- журнал контактов с пользователем
- ...

Если говорить об обработке данных десятков тысяч пользователей с нормальной скоростью, то как лучше действовать? Я вижу варианты:

1) Пользоваться встроенными таблицами ZP. Я не знаю, насколько они функциональны по сравнению с DataTable и как их связывать с классами, которые я создам. Они вроде не могут быть типизированными. Не знаю, можно ли там хотя бы ключи и индексы иметь и насколько они производительны (RTFM, конечно).
2) Завести базу на SQLite, создать набор классов, описывающий сущности проекта, привязать эти классы к DataTables из DataSet, в общем, классика. Но тут надо будет неудобство, что если я напишу какую-то библиотечку, то чтобы её можно было подключить к проекту на «кубиках», то она должна реализовать какой-то совсем мелкий функционал типа «одну простую табличку передал в библиотечку, другую табличку получил». И там накладные расходы на взаимодействие сборки с интерпретатором будут большие, так ведь?

Ну или есть ещё какой-то способ. Я уверен, на этом форуме уже человек 20 эту проблему решали. Может, уже и библиотеки выложены. Помогите найти хороший велосипед, не хочу изобретать свой!
 

darkdiver

Administrator
Команда форума
Регистрация
13.01.2009
Сообщения
2 285
Благодарностей
2 730
Баллы
113
- данные пользователя
- список пользователей с дополнительными данными
- друзья пользователя (взаимосвязи)
- журнал контактов с пользователем
если такая структура данных и данных много то лучше использовать нормальную СУБД

1) Пользоваться встроенными таблицами ZP. Я не знаю, насколько они функциональны по сравнению с DataTable и как их связывать с классами, которые я создам. Они вроде не могут быть типизированными. Не знаю, можно ли там хотя бы ключи и индексы иметь и насколько они производительны (RTFM, конечно).
браузер все равно выжрет львиную долю CPU, так что про производительность таблиц можно не думать, таблицы по сути свой массивы строк без индексов, но если умеете писать код то лучше подключать СУБД.

И там накладные расходы на взаимодействие сборки с интерпретатором будут большие, так ведь?
Начиная с версии 5.4 проекты постера компилируются, а не интерпретируются, накладных расходов нет по сути, только вызов функции из вашей сборки. Практически всегда CPU жрет браузер, а не постер.
 

Кто просматривает тему: (Всего: 1, Пользователи: 0, Гости: 1)