C++ Builder
| Главная | Уроки | Статьи | FAQ | Форум | Downloads | Литература | Ссылки | RXLib | Диски |

 
Выбор БД для эксп. данных, Накопление данных экспериментов
Asher
Отправлено: 14.02.2005, 19:24


Мастер участка

Группа: Модератор
Сообщений: 550



Привет всем.
С БД дела никогда не имел. ohmy.gif
Сейчас встала задача сделать систему хранения для данных экспериментов.
Данные в основном double. Сыпятся со скоростью 2 мс до 200 каналов.
Я монимаю что бызы в общем случае не заточены под RT (сугубо IMHO),
поэтому без проблем могу это дело, в общем, забуферить и запоточить.
Но может есть какие базы которые к этому более приспособленны?
Пока сижу изучаю как работает IB biggrin.gif
Gedeon
Отправлено: 14.02.2005, 20:49


Ветеран

Группа: Модератор
Сообщений: 1742



Не, IB тут вообще никуда не годится, надо чето более мощное, а вопрос, какой комп предлагается выделить под БД, и что еще паралельно предполагается будет там стоять? А с такой скоростью конечно врядле что-то без помощи разработчика smile.gif справится, одно сразу могу сказать надо строить систему оперативной обработки данных, т.е. коэф. рассщепления страниц д.б. достаточно большой, + если эти эксперименты идут постоянно еще и думать какие-нить задачки в более легкие периоды для облегчения ее работы. Ну а если средства не ограничены м. построить кластер и подумать о репликации.
** full_lamer
Отправлено: 15.02.2005, 08:53


Не зарегистрирован







ИМХО. я считаю что для RT можно построить каскад машин: к примеру, одна принимает и хранит в ОЗУ и постоянно все это кэширует и неторопливо посылает запросы на добавление другой машине где и стоит сервер БД...
Asher
Отправлено: 15.02.2005, 10:25


Мастер участка

Группа: Модератор
Сообщений: 550



Привет.
Мне все-таки непонятно — если я данные сам буду буферировать и сыпать в базу с ее скоростями проблем быть не должно быть вроде.
Тут другое интересно — обработка по массивам более миллиона записей и пять полей к примеру идет в разумные сроки и с разумным использованием памяти? (компы типа AXP200, 512МБ)
Или дешевле будет пересыпать в массивы и там обрабатывать?
Тогда мне база совсем не нужна, буду на файлах продолжать.
P.S.
QUOTE
ИМХО. я считаю что для RT можно построить каскад машин: к примеру, одна принимает и хранит в ОЗУ

при нынешних машинах смысла нет. PIII-800 столько данных (примерно 0,5 МБ принимает и пишет в файлы не напрягаясь, как и VIA 600, кстати, тоже)

Отредактировано Asher — 15/02/2005, 12:34
Gedeon
Отправлено: 15.02.2005, 10:36


Ветеран

Группа: Модератор
Сообщений: 1742



то, что предлагает full_lamer называется сервер приложений, он совершенно спокойно м.б. совмещен с тачкой, на которой стоит база, и совершенно спокойно м.б. частью Вашей программы, где Вы и хотите буферизовать и сыпать smile.gif .
На такой комп совершенно спокойно станет и SQL Server и Oracle. Выбирать советую по тому же принципу как и дистрибутив линукса smile.gif .
По поводу такого обьема данных лучше БД ничего придумать нельзя, выборки работать будут быстро и с разумным использованием памяти biggrin.gif , кроме того Вы получите возможность очень быстро выбирать результаты по каким-либо условиям.
Но все же насоятельно рекомендую брать серьезную базу сразу, потом не пожалеете.
olegenty
Отправлено: 15.02.2005, 11:12


Ветеран

Группа: Модератор
Сообщений: 2412



только MSSQL махом заблокирует таблицу при такой интенсивности работы, и хинты не помогут. тут любой версионник будет рулить. я бы остановился всё же на FB, Oracle ради одной таблицы — извращение. (ну, если не FB — то версионник того же среднего класса)
AVC
Отправлено: 15.02.2005, 11:54


Ветеран

Группа: Модератор
Сообщений: 1583



QUOTE
только MSSQL махом заблокирует таблицу при такой интенсивности работы

Да. У Oracle таких проблем не будет (очень красивая система блокировок).
Выбор СУБД может зависеть от режима работы системы.
Если такой поток данных идет круглосуточно — скорее всего Oracle. Он позволит и добавлять и выбирать одновременно с приемлимой скоростью (но для одной таблицы???)
Если данные пишутся порциями, между которыми большие временные интервалы без insert — то вполне подойдет и средняя БД. Например за последние дни мне понравилась скорость выборок у MYSql.
olegenty
Отправлено: 15.02.2005, 12:17


Ветеран

Группа: Модератор
Сообщений: 2412



да, тут всё же соглашусть с AVC — эсли такой поток данных навсегда, то Oracle — однозначно. только админа напряч надо быдет на предмет правил создания файлов — типа данные месяца — в новом файле (или недели).
бонус, которого ты (Asher) не получишь при работе с файлами, — любая аналитика за любой период.
Gedeon
Отправлено: 15.02.2005, 12:37


Ветеран

Группа: Модератор
Сообщений: 1742



QUOTE (olegenty @ 15/02/2005, 10:14)
Oracle ради одной таблицы — извращение. (ну, если не FB — то версионник того же среднего класса)

Почему д.б. только одна таблица?

И еще стоит появиться где-нить хорошей СУБД и задачи возложенные на нее продолжают плодиться.

ЗЫ. С такой интенсивностью на SQL Server не доводилось работать, щас потестирую.
avc*
Отправлено: 15.02.2005, 12:42


Не зарегистрирован







QUOTE
стоит появиться где-нить хорошей СУБД и задачи возложенные на нее продолжают плодиться

Ага, как грибы после дождя. smile.gif
Я то же считаю — если есть возможность — брать сразу мощную СУБД.
Gedeon
Отправлено: 15.02.2005, 13:47


Ветеран

Группа: Модератор
Сообщений: 1742



Только что разговаривал с человеком, к-рый знает систему построенную на оракле, к-рая справлялась и с большей скоростью замеров, т.е. оракл справляется однозначно.
На SQL Server в одном потоке скорость получается около 550 записей в секунду (силер 2400, 256 ОЗУ), щас сваяю ченить на несколько потоков, в результате попробуем довести до 200, посмотрим на падение сервера biggrin.gif .
Asher
Отправлено: 15.02.2005, 13:59


Мастер участка

Группа: Модератор
Сообщений: 550



QUOTE
бонус, которого ты (Asher) не получишь при работе с файлами, — любая аналитика за любой период.

Вот из-за этого-то и хочется на БД перейти.

Раз все равно новое изучать — лучше изучать лучшее biggrin.gif
Посоветуйте хороший ресурс по Oracle на русском и для начинающих wink.gif
olegenty
Отправлено: 15.02.2005, 14:17


Ветеран

Группа: Модератор
Сообщений: 2412



книгу купи, автор Том Кайт. 2-х томник. там всё есть.
AVC
Отправлено: 15.02.2005, 14:41


Ветеран

Группа: Модератор
Сообщений: 1583



Любой, первый попавшийся, учебник по SQL для начинающих.
Том Кайт — по мере освоения языка, выборочно.
Документация на Oracle для уточнения вариантов синтаксиса и возможностей.
Gedeon
Отправлено: 15.02.2005, 14:57


Ветеран

Группа: Модератор
Сообщений: 1742



Да, безусловно, сначала Ansi SQL, дальше диалекты.
www.sql.ru хороший ресурс, покопайся там, почитай еще о серверах, мож поменяешь мнение.
Asher
Отправлено: 15.02.2005, 15:27


Мастер участка

Группа: Модератор
Сообщений: 550



QUOTE
книгу купи, автор Том Кайт. 2-х томник. там всё есть.

Книга серьезная. Два тома — 2200р.
Хорошо хоть добрые люди в инете есть. Скачал в pdf.
Книги по Oracle
Сажусь изучать.
Надо еще где-то сам Oracle найти...
Guest
Отправлено: 15.02.2005, 15:55


Не зарегистрирован







QUOTE
Надо еще где-то сам Oracle найти...

Если канал широкий — прямо на сайте Oracle (около 500 Mb). Полная, не триальная версиия. Для собственного изучения — бесплатно. Лучше поискать диск. smile.gif
Asher
Отправлено: 15.02.2005, 16:59


Мастер участка

Группа: Модератор
Сообщений: 550



QUOTE
прямо на сайте Oracle (около 500 Mb). Полная, не триальная версиия.

ага. biggrin.gif
я уже сходил посмотреть. За такой объем меня руководство прибьет раньше, чем я успею рассказать зачем это нужно и как это круто.
У нас сейчас кризис. sad.gif
Gedeon
Отправлено: 16.02.2005, 13:47


Ветеран

Группа: Модератор
Сообщений: 1742



А че так мало, у меня 9 — 3 диска, 10 я думаю не меньше, вроде 8 влазил на 1 диск, но неужели там не последняя версия?

Вернуться в Работа с базами данных в C++Builder