mysql.igw999.com

 

 

| Интересно |



Сегодня - 23 January 2018

 


| Популярное |

 


| Статистика |


 

 

 

 

База данных для хранения больших данных?



Andrew
База данных для хранения больших данных?
Обдумываю один свой интернет-сайт, суть такая, Каждый день или чуть реже нужно будет обновлять данные для 5-40 млн записей, и эта цифра будет постоянно расти, каждый месяц примерно на 5-10% записей в таблицу будет добавляться. \ На базу данных будут примерно такие нагрузки: - поиск - есть ли запись в базе данных с указанным названием, если есть то обновляем данные там. Т. е. перед тем как добавить запись (а их напомню - вначале будет 5-40 млн и будут постоянно возрастать) будет проверять есть она в базе данных и добавлять/обновлять данные. Функция очень нужная и массовая, поэтому не хотелось бы чтобы она выполнялась дольше 0,1 секунды. - поиск по базе данных с указанными параметрами (например, чтобы такой-то параметр был больше указанного значения и подобные условия) и эта функция будет достаточно часто использоваться (в общем количестве раз 100 в день, и в последующем будет только увеличиваться многократно в зависимости от количества пользователей сайта). Тут такая скорость не так критична, но тоже должна быть относительно быстрая (максимум скажем можно 5-20 секунд ) Хочу узнать какими способами можно организовать структуру хранения большой информации ? Какую базу данных выбрать? Подойдет ли MySQL для этих задач?


Ответы:

Jurijus Zaksas
40 миллионов записей с приростом 10% в месяц через год дадут 125М, через 5 - 12 миллиардов. Дело пахнет Терадатой и соотв. железом.

Татьяна Шеховцова
Сервер, как понимаю, будет свой и причём не один, с такими-то запросами Скорость критична... Сама бы посмотрела в сторону nosql СУБД (вот какую именно из них брать - не скажу, не мониторила вопрос) MySQL однозначно не подойдёт, как и все остальные бесплатные реляционные СУБД. Насчёт платной Oracle сомневаюсь, возможно и выдержит

Андрей
Да, MySQL (точнее, MariaDB или Percona Server - форки имеют лучший функционал, чем оригинальная MySQL) вполне потянет. Но я бы предложил присмотреться к PostgreSQL. Кстати, операция "вставка или замена" в MySQL делается одной командой: INSERT ON DUPLICATE KEY - безо всяких поисков и проверок. Есть ещё REPLACE, но эту команду лучше не использовать. 100 млн. записей - это не такие уж и большие данные. Но более чем достаточные для того, чтобы всерьёз заняться оптимизацией структуры базы данных. Прежде всего: индексы, секционирование (partition) и репликация. Индексы ускоряют поиск (только те запросы, которые используют эти индексы) но замедляют вставку / изменение. Индексы - всегда компромисс. Продуманное секционирование ускоряет работу с данными, но не совместимо с внешними ключами - поддержание целостности данных перекладывается на тебя. Репликация позволяет разнести поиск и изменение данных по разным экземплярам базы данных. Но для этого нужно несколько серверов. P.S. О многоуровневой системе не задумывался? Когда меняющиеся данные заливаются в маленькую оперативную базу, а уже из неё постепенно переносятся в большое хранилище.

Chrono
Если вам не нужны джойны, а только хранение и получение, то можете ради интереса попробовать MongoDB. У меня на ней сейчас крутится около 4 терабайт данных. Она быстра (особенно когда куча оперативы на сервере) , много всего держит в буфере памяти и поиск идет очень шустро (при правильном индексировании данных). Легко расширяема (как горизонтально, так и вертикально) за счет шардинга (аналог партиционирования РСУБД) , так же есть надежные механизмы по отказоустойчивости. Еще большой плюс в сжатии данных на диске (4 терабайта физически в дата файлах на диске занимают около 600 Гигов, при использовании 'быстрого' сжатия, второй тип сжатия, который позиционируется как более основательное, но более медленное я не тестировал, этого за глаза хватает ) В целом 50 млн записей учитывая кол-во полей если в среднем взять по 1 КБ -> 50 Гигов даты -> после сжатия (коэф сжатия на быстром режиме примерно в 8 раз) -> 6 Гигов на диске. Выйгрыш в поиске будет еще в том что операции чтения с диска самые медленные, соответственно меньше данных на диске, меньше операций чтения, т. е. надо будет читать меньше дисковых блоков с данными




| Меню |

MySQL: Когда используют полнотекстовый поиск?
MySQL: Нужна помощь в Mysql. Помогите, пожалуйста.
MySQL: Есть ли в MYSQL такая вещь, как курсор?
MySQL: не получается подключится к базе данных
MySQL: создание базы Mysql
MySQL: Помогите пожалуйста. Я новичок и не могу решить проблему самостоятельно.
MySQL: Импорт (загрузка) Excel файла в phpMyAdmin
MySQL: MYSQL почему 2 простых джойна очень сильно замедляют скорость?
MySQL: Где находятся базы данных OpenServer
MySQL: Недостаточные или не полные сведения о ключевом столбце. Обновление влияет на слишком большое число строк!
MySQL: Как убрать повторы в Access?
MySQL: почему не выводит введённое в базу данных значене?
MySQL: База данных для хранения больших данных?
MySQL: Помогите к приобретении хостинга Нужен хороший хост, под кардинг форум, подскажите где приобрести
MySQL: MYSQL как посчитать среднее значение из строки?
MySQL: Может ли MySql сравнить значение переменной с переменной-строкой в таблице?
MySQL: Как вытащить в переменную значение поля из базы данных?
MySQL: Как сделать выплаты ручными?
MySQL: "Эту задачу решит уверенный junior" у кого какие предложения, нужен только КОД!
MySQL: Пожалуйста, помогите с кодом. Нужно получить сумму результатов «Total1» и «Total2» в запросе SQL на Libre Office
MySQL: База данных Access отдела компьютерной техники в магазине
MySQL: как сделать запрос к базе данных на удаление картинки из сервера? Чтобы с сайта можно было удалить картинку из сервера.
MySQL: Mysql команда в маке не работает. так же мамп не подключается к бд. в чем может быть проблема???
MySQL: помощь по sql, помогите пожалуйста!
MySQL: Здравствуйте, нужен sql запрос для адресной строки
MySQL: Как расшифровать пароль админа?
MySQL: Информатика тема битов
MySQL: Можно ли комфортно работать с MySQL через консоль? Или всё таки лучше не лениться и поставить phpMyAdmin?
MySQL: Ошибка при подключении базы Mysql
MySQL: как установить звёздный рейтинг на сайт?
MySQL: Написать запрос SQL
MySQL: Как исправить данную ошибку с MySQL Workbench?
MySQL: Что это значит в запросе Mysql? && ||
MySQL: Создать представление, содержащее список групп и количество студентов в группе.
MySQL: Как изменить character_set_client utf8mb4 на utf8?
MySQL: Помогите Пожалуйста - Mysql .htaccess - при вызове INSERT в базу записывается 2 записи
MySQL: Как правильно написать sql запрос в Access?
MySQL: Подскажите, транскрипцию слов в татарском языке: куян, кыр, ком, канат, кумэч, чэчэк, камыр, кэймэ, кэбэстэ, кисэ, курэ.
MySQL: Ошибка с первичным ключем
MySQL: Ребят, такая фигня. У меня есть база где сохраняются аккаунты, пароли, а пароли в зашифрованном виде, к примеру: 5b906fb
MySQL: Нужна помощь в Mysql. Помогите, пожалуйста.
MySQL: Нет соединения с базой данных. Запутался
MySQL: Вставка записей в таблицу SQL
MySQL: как выполняется сортировка столбца по некоторому параметру
MySQL: Как передать сайт c Wordpress клиенту без лицензионных шаблонов и виджетов?
MySQL: Помогите решить задачи с SQL таблицами
MySQL: Непонятные иероглифы в Pawno
MySQL: Подсчет количества и средней цены изданий, в написании которых приняли участие авторы имеющие контракт
MySQL: Вывод всех сведений об авторах изданий, содержащих в названии слова с корнем "дом"?
MySQL: Помогите исправть в Бд ошибка какакя-то я не знаю не подключается!
MySQL: При запуске выпадает ошибка
MySQL: Mysql сложный запрос выборки, помогите
MySQL: FastReport выполнить ВЫБОРКУ в самой программе, как?
MySQL: при установке WP пишет Ошибка базы данных WordPress ниже подробности
MySQL: SQL. Запрос с подзапросом
MySQL: Помогите разработать схему баз данных
MySQL: Перенос сайта (БД, SQL, .bak)
MySQL: Привет всем! Хочу изучать базы данных.
MySQL: Помогите написать скрипт
MySQL: Возможна такая ситуация? И как с этим бороться?
MySQL: phpmyadmin - могу ли я экспортировать БД по частям определенного размера (2000КБ)?
MySQL: Тем, кто разбирается в Samp`е и Mysql
MySQL: Сумма элементов в связанных таблицах. mySql
MySQL: При установки IPB форума ошибка !
MySQL: Помогите с запросом
MySQL: Почему не выводит запись?
MySQL: Можно ли в MySQL выбрать только те поля, у которых значение не NULL
MySQL: Ошибка в slq запросе
MySQL: Как установить гео-базу Maxmind в Keitaro TDS?
MySQL: Что значит это: 6ece7d2be3d60dd7ea5834a3bc734815? Это не MD5 код!!! Я взял это из базы данных mysql в структуре "Пароль"
MySQL: Зачем сайту нужна phpmyadmin если есть папки с файлами на хостинге. Или это не одно и тоже ?
MySQL: Ребята хочу узнать сколько стоит подписка в play key?
MySQL: Написать SQL запрос
MySQL: Написать запрос SQL
MySQL: Подскажите как изменить SQL запрос?
MySQL: вопрос знающий есть файл где выполняется много запросов в основном подсчеты
MySQL: Помогите пожалуйста срочно!
MySQL: 5ти звездочный рейтинг
MySQL: Помогите найти литературу или статьи по Create FUNCTION, create PROCEDURE в ORACLE.
MySQL: На сколько сильно нормальные формы снижают производительность сайта с базой данных?
MySQL: попытка номер 3 нужно дописать конструкцию замаялся
MySQL: вопрос знающим кто не может помочь не отвечайте
MySQL: нужно дописать конструкцию запроса описание внизу
MySQL: Триггер на копирование из одной бд в другую.
MySQL: Ошибки при установке OpenCart
MySQL: Как присоединить MySQL базу к серверу.
MySQL: Правильно ли я составил базу?
MySQL: Что такое схема таблицы в SQL? Как её посмотреть в MS SQL Server? Как сравнить 2 таблицы по схеме?
MySQL: Как можно импортировать данные из Excel-таблицы в БД MySQL?
MySQL: Есть запрос на выборку, нужно вывести только те, которые больше 50


 

 

 


Copyright © mysql.igw999.com 2017-2018. Designed by Vopio Design.