Длинный набор данных из маленьких строк - нечастые записи, очень частые чтения - какая платформа лучше?

Часть платформы, которую я создаю, требует большой таблицы данных (начиная с десятков миллионов записей, масштабируясь до сотен миллионов в течение года или двух, возможно, достигая миллиардов в какой-то момент). Структура таблицы данных: int, int, float, datetime, datetime. Эта таблица данных будет принимать данные из одного источника (сценария импорта) партиями до десяти миллионов строк. У меня есть полный контроль над сценарием импорта. Различные приложения будут извлекать данные через веб-API и, возможно, пользовательский TCP-сервер. I am expecting requests for individual rows in bursts of up to 50,000 per second. At first this sounds like a good application of a key-value design, but many of the requests will take the form:

select float where int=A and datetime < B and datetime < C order by datetime, datetime limit 0,1

the basic idea is that I'm getting the datapoint for a given series that has the latest datetime pair below a user-defined threshhold. I will probably be able to do some logic on the application layer to pull an entire series at a time, but much of that ordering will still fall to the database layer.

I'm currently running a prototype off of SQL Server 2005 and it's very responsive at up to 1,000 requests per second with 10 million records. I am concerned about scaling to hundreds of millions of rows at 50,000 requests.

Как вы думаете? Is MySQL the tool for the job because it's more lightweight than SQL Server? Should I look into NoSQL solutions (can any even handle the sample query)? Любые другие идеи приветствуются.

Спасибо!

theserge

1 ответ

Является ли MySQL инструментом для этой работы, потому что он более легкий, чем SQL Server?

Нет.

Я смотрю на решения NoSQL (любой может даже обработать образец запроса)?

В общем нет как... примитивность делает их непригодными.

Посмотрите на типичные решения TickerPlant. Ожидайте, чтобы заплатить 50 000 долларов США вверх. Это ОЧЕНЬ специальное требование. Ожидайте использовать много серверов.

Другие вопросы по тегам