Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > СУБД, общие вопросы > Помогите с выбором базы


Автор: slang 14.7.2005, 13:25
В базу необходимо заносить котировки валют (тиковые) котировки поступают 0,5-1,5 шт в секунду, т.е. даже за неделю их наберется около миллиона строк.
В базе необходимо хранить около месяца, затем старые удалять, таким образом должно быть в таблице около 4-5 миллионов строк, которые необходимо достаточно быстро обрабатывать.
Access, я так понимаю будет тяжеловато их обрабатывать. Возможно-ли это сделать на базе Access или SQL.
Помогите с выбором, если не сложно.
Спасибо.

Автор: Akina 14.7.2005, 13:41
http://forum.vingrad.ru/index.php?showtopic=30912&view=all

Автор: vadims 14.7.2005, 13:57
Access - однозначно не реально для такого количества записей

Теперь ИМХО

Я бы не стал использовать MS SQL в твоем варианте - мое мнение interbase - личный опыт - запрос на базе в 3 млн записей - 2 сек - тоже немало, но хоть в психогическую систему укладывеатся - где время реакции дб не больше чем 3 сек

Автор: Vit 14.7.2005, 15:01
MS SQL server на таких маленьких объёмах работать будет очень быстро, но естественно надо будет над запросами поработать, добавить индексы, хинты и т.д... Я работаю с базами которые имеют на 1-2 порядка больше записей и на порядок более частые запросы на MS SQL server - проблем с производительностью нет, но поверхностными знаниями SQL не обойтись... Впрочем указанные вами объёмы - мизерны для промышленных баз данных, в принципе любой промышленный сервер типа MS SQL Server, Oracle, DB/2 и даже Interbase должны достаточно комфортно себя чуствовать.

Автор: vadims 14.7.2005, 15:35
Цитата(Vit @ 14.7.2005, 15:01)
MS SQL server на таких маленьких объёмах работать
Я совсем не спец в БД и все мои слова ИМХО - вопрос к специальсту нарисованные объемы - маленькие ???
Или я уже совсем отстал ?

Автор: Ignat 14.7.2005, 15:49
slang, это для форекса или фондового/срочного?
С фондовым будет посложнее, там ведь еще и весь стакан стоит сохранять, да и спред нестабильный.

Автор: Vit 14.7.2005, 19:11
Цитата(vadims @ 14.7.2005, 06:35)
Я совсем не спец в БД и все мои слова ИМХО - вопрос к специальсту нарисованные объемы - маленькие ???
Или я уже совсем отстал ?



Это относительно небольшие объёмы для промышленных баз данных. Смертельные для локальных, но небольшие для серверов. К тому же вы планируете иметь всего лишь около 1 запроса в секунду, который при правильной структуре таблицы будет очень лёгким... Для современных серверов проблемы с производительностью начинаются после 50-100 таких запросов в секунду...

Автор: vadims 14.7.2005, 20:12
Vit
Спасибо за информацию - но ладно я - у нас целая система не может решить для себя эту проблему - а там довольно грамотные на мой взгляд люди сидят - но лично мне честно говоря с верхней полки на это

Автор: Vit 14.7.2005, 22:35
vadims - а конккретно можешь сказать

- Какие таблицы (основные поля)
- какие в основном запросы на них идут

Может что-то и сообразим...

Автор: slang 15.7.2005, 09:46

Дата
Время
несколько пар валют (12) (целое пятизначное число)

запросы:
добавить запись
прочитать последнюю запись
прочитать записи за определенный период времени
прочитать запись на определенное время

ни каких текстовых полей, только числа
Добавлено @ 09:47
Ignat
форекс

Автор: slang 15.7.2005, 09:59
Что за СУБД FireBird, как сней работать? Это бесплатная замена SQL, чем они отличаются?

Автор: Vit 15.7.2005, 15:37
Дату и время сделать одним полем
Кластерный индекс по дате времени с сортировкой в возрастающего порядка
100% плотность кластерного индекса

После этого на MS SQL всё летать должно

Автор: Ignat 15.7.2005, 15:43
Цитата(slang @ 15.7.2005, 10:59)
Что за СУБД FireBird, как сней работать?

Бесплатный аналог InterBase.

У меня даже MySQL нормально с котировками работала, но там больше 1.000.000 записей не было.

В данном случае ИМХО, MS SQL нужно.

Автор: Vit 15.7.2005, 15:44
Цитата(slang @ 15.7.2005, 00:59)
Что за СУБД FireBird, как сней работать? Это бесплатная замена SQL, чем они отличаются?



Это бесплатная замена Interbase.

Автор: slang 15.7.2005, 17:08
Как можно связать инфу, транслируемую в DDE с базой, т.е. как записать котировку в базу?

Автор: Vit 15.7.2005, 18:11
Не понял вопроса...Запросом обычным вставляются данные

Автор: Ignat 15.7.2005, 18:34
slang, Какую терминальную программу используешь?

Автор: AntonSaburov 15.7.2005, 19:00
В принципе подойдут также Sybase (по синтаксису и управлению он похож на MS) или Oracle.

А в остальном Vit уже все сказал.

Автор: slang 18.7.2005, 14:23
Ignat
Metatrder, ID Trader и софт для теханализа.

Всем спасибо.

Автор: Ignat 18.7.2005, 15:36
Цитата(slang @ 18.7.2005, 15:23)
Metatrder

Тогда очень просто слить у них API, там есть примеры, а дальше подсоединиться к базе и вставлять котировки- дело техники. Описано выше. И никакой DDE не нужен.

Автор: slang 18.7.2005, 16:24
Ignat, Спасибо

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)