LINUX.ORG.RU

Направьте человека в нужное русло

 ,


1

1

Здравствуйте форумчани,
Помогите с моей задачей (прихотью).
Хочу засунуть свою БД на RAM. тока не знаю как это сделать, с линуксом практически не знаком. И как сделать (Сервер или систему)
- на 80 Гб. RAM
- запустить там MySQL сервер
- и запустить программу которая работает под Виндовс

Как можно это организовать, буду благодарен за любую информацию. Которая сдвинет с мертвой точки эту идею.

PS. Делаю для себя выхода в сеть не будет, не нужно никакой защиты и все что с этим связано.

перевести таблицы в тип memory? Остальное не понял

Erfinder
()

Хочу засунуть свою БД на RAM. тока не знаю как это сделать, с линуксом практически не знаком. И как сделать (Сервер или систему)

Зачем, думаю что есть другие варианты.

pinachet ★★★★★
()
Ответ на: комментарий от pinachet

Зачем, думаю что есть другие варианты.


Поподробней напишите?

Счас БД работает на SSD. И когда идет выборка очень медленно все происходит.

chocolat
() автор топика
Ответ на: комментарий от duck

а индексы стоят?

В структуре БД, проблем нету.
По проще:
Главная выборка идет всей БД, то есть, она суммирует каждою отдельную отдельную ячейку, каждого рядка. Даже с SSD с ее считыванием не достаточно, что б проделать это достаточно быстро.

chocolat
() автор топика
Ответ на: комментарий от chocolat

она суммирует каждою отдельную отдельную ячейку, каждого рядка. Даже с SSD с ее считыванием не достаточно, что б проделать это достаточно быстро

и так каждый раз когда ты делаешь

Главная выборка

?

ZuBB ★★★★★
()
Ответ на: комментарий от ZuBB

и так каждый раз когда ты делаешь

главная выборка чтоб уводить картину в общем, при этой выборке запоминаются индекса, группы и т.д. в БД, для сортировки, то есть, то что я выбрал уже поделено, если я хочу произвести далее выборку я ее делаю уже от выбранных данных, чем глубже опускаюсь тем выборка более быстрее происходит. (каждое последующие зависит от предыдущего).

Но крути не крути, что б перебрать даже 20Гб. БД надо время на считывания, вот и пришла идея засунуть всю БД в ОП, тока не знаю как это сделать...

ЗЫ. есть к примеру VirtualBox or VMware. Но имея на ПК 24Гб ОП я не могу создать, при помощи RAMDisk, диск более 2Гб, и в нём же завиртуалить систему, почему не знаю... но даже с этим, на обычной материнке не разместить 80 Гб ОП

chocolat
() автор топика
Ответ на: комментарий от chocolat

urxvt, postman,
если я правильно вас понял, то мемкеширования нужно для того чтоб, то что я выбрал 1й рас загрузилось в кеш и после выборка происходила в самом кеше.
Если я что то плутаю поправьте меня, но первичная выборка все равно происходит на том же SSD.
Картинка
Даже с использованием кеширования, зачем мне его использовать? Если БД используется тока на 1м компе, 1м пользователем.

chocolat
() автор топика
Ответ на: комментарий от chocolat

Можно ссылку в гугл, а то слишком много мусора попадается

Сложно так ткнуть на конкретную статью...

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

Верно.

Даже с использованием кеширования, зачем мне его использовать? Если БД используется тока на 1м компе, 1м пользователем.

Ну один человек (да еще раз в месяц) потерпеть может. Строй результаты своих расчетов (и сохраняй в кеш или ту же БД) до того как их запросит пользователь по таймеру/тригеру/etc.

urxvt ★★★★★
()
Ответ на: комментарий от chocolat

уже вспомнил тебя по предыдущему треду :)

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

Если таки решили идти в сторону рамдиска то есть варианты

если вам позарез нужно овер 64гб, то может pekmop1024 чтото подскажет.

ZuBB ★★★★★
()
Ответ на: комментарий от ZuBB

хотя чтото толковое предложить не могу.

если ваша задача не суперсекретная - можна описать ее более детально здесь или на sql.ru и посмотреть на советы товарищей

ZuBB ★★★★★
()
Ответ на: комментарий от ZuBB

Ну один человек (да еще раз в месяц) потерпеть может. Строй результаты своих расчетов (и сохраняй в кеш или ту же БД) до того как их запросит пользователь по таймеру/тригеру/etc.

я понимаю к чему вы клоните, я думал над этим вопросом когда многократно переделывал запросы и структуру БД. Вывод получался один и тот же. Почему, счас постараюсь объеснить:
выборка
- по годам
- по сезонам
- по месяцам
- по дням
- по часам
такое начало выборки, а счас если мы запомним каждое значение, вплоть до часа, в нас получится таблица с год*сезон*месяц*день*время то есть 4*4*12*31*9 = 53 000, примерно такое значение.
А теперь, в чем изуминка, под каждым днём в нас есть пареметры которые я даже умножать не хочу, слишком большое значение, это значит если мы захотим сохранить все вариации выборки, получится таблица еще больше чем была. А если сохранить тока эти (год*сезон*месяц*день*время), то к примеру выберем 3,4,5 месяц и потом выберем к напримеру 13 число, и время 10:00-11:00, у нас не будет все параметры которые есть в базе а тока «отсносительно несколько», и как узнать какие именно, если мы сделаем «Строй результаты своих расчетов (и сохраняй в кеш или ту же БД) до того как их запросит пользователь по таймеру/тригеру/etc.» - итог ни как. + выборка будет ещё дробится....



уже вспомнил тебя по предыдущему треду :)

благодаря комментариям, в той теме особенно партицирование - это, я даже запомнить по началу не мог))

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

нет то что уже создано, как я думаю, улучшить не возможно, возможно еще что то)) поможет но я не знаю что, использовал все что было в той теме пришлось повозится пару недель, чтоб переделать структуру, и научится правильно запросы писать (самой большой запрос, самый нижний (Calibri,8 занимает 9 страниц в ворде)), это того стоило, выборка на малом объеме просто летает.

если ваша задача не суперсекретная - можна описать ее более детально здесь или на sql.ru и посмотреть на советы товарищей

да нет при чем здесь секретность, просто сложно сформулировать правильно вопрос, потому что с этим никогда не сталкивался, счас если есть вопрос по SQL это уже просто.
Но проблема с железом то есть, если я правильно понимаю задачу которая стоит:
надо купить мать в которую возможно всунуть 80 Гб ОП
далее както если возможно установить Виндовс и поставить весь софт туда, но как я понял это не возможно тока посредством Линукс, а это для меня, как когда то был SQL, открытие Америки, если я даже разберусь как поставить Линукс и MySQL, впихнуть туда свою БД. Остается вопрос если исчезнет электричество RAM это не жесткий диск.... как заставить виндовскую программу пахать там и что б ее приконектить к БД....
Стоит ли установить линукс в ОП, далее там же установить VirtualBox or VMware и создать виндовс с размером 80 Гб......
но где найти мать такую, что б не дорого, как это всё настроить, руководства же нету.... а практики тем более.

Вопросы с 1го поста:
Как засунуть свою БД на RAM. тока не знаю как это сделать, с линуксом практически не знаком. И как сделать (Сервер или систему)
- на 80 Гб. RAM
- запустить там MySQL сервер
- и запустить программу которая работает под Виндовс

4*16 уже 64Гб RAM

самой оптимальной вариант это брать 8 Гб по 29.25$, так как делаю для себя, это значит что нужно мать с минимум 10 у лутше 11 или 12 слотами под ОП где их найти без понятия.

chocolat
() автор топика
Ответ на: комментарий от chocolat

можно держать два компа: виндовый с delphi-прогой и линуксовый с mysql и рамдиском. если боитесь за безопасность данных - можно подумать об упсе или ... (возможно это бред) посмотреть в сторону nosql.

по поводу железа. я очень слабо в этом разбираюсь. подождите может pekmop1024 чтонить подскажет. если нет, то создайте отдельную тему здесь, может кто чего дельнього посоветует.

еще один вопрос. сейчас данных как я понимаю 80гб а что будет если обьем данных будет расти?

ZuBB ★★★★★
()
Ответ на: комментарий от chocolat

нужно мать с минимум 10 у лутше 11 или 12 слотами под ОП где их найти без понятия

есть такая

ZuBB ★★★★★
()
Ответ на: комментарий от chocolat

офтопный вопрос: задача для научных исследований, JFF или стартап?

ZuBB ★★★★★
()
Ответ на: комментарий от chocolat

и еще одно (надеюсь последнее на сегодня :) )

как я понимаю самый длинный (по времени выполнения) запрос тот, который делает выборку по всей базе («первый» так сказать). Вы пытались его профилировать?

ZuBB ★★★★★
()
Ответ на: комментарий от ZuBB

Объемы более 32ГБ ставить обычными не ECC модулями будут только самоубийцы :)

pekmop1024 ★★★★★
()
Ответ на: комментарий от chocolat

самой большой запрос, самый нижний (Calibri,8 занимает 9 страниц в ворде

вангую лютый пиздец при проектировании БД, приложения и характера их взаимодействия

anonymous
()
Ответ на: комментарий от ZuBB

можно держать два компа: виндовый с delphi-прогой и линуксовый с mysql и рамдиском.

Сначала, так думал, но потом как подключить друг к другу, в этом ничего не понимаю, проще кажется будет установить все на 1 комп.

еще один вопрос. сейчас данных как я понимаю 80гб а что будет если обьем данных будет расти?

счас практически 40, запаса должно хватить.

пс убедитесь что у вас не такая ситуация

нет, в виндовсе, если не ошибаюсь, это называется tempdb.

есть такая

серверная мать, на 2х форумах уже задал вопрос что б, не дорого и сердито, не хочу сюда еще дублировать.

задача для научных исследований, JFF или стартап?

прочтения - научные иследования, аж дух захватывает))), нет просто желания найти, если получится, закономерности в истории, маловероятно что они будут, но хочу попробовать.

Вы пытались его профилировать

нет, спасибо, протестирую все



Объемы более 32ГБ ставить обычными не ECC модулями будут только самоубийцы :)

спасибо, за совет, я даже не знал что такая есть), смотрел у себя в городе. в продаже есть тока один вид (Kingston DDR 2048Mb (KVR400D4R3A/2G) ECC, Registered).
ЕСС память подходит к всем процессорам?

chocolat
() автор топика
Ответ на: комментарий от chocolat

можно держать два компа: виндовый с delphi-прогой и линуксовый с mysql и рамдиском.

Сначала, так думал, но потом как подключить друг к другу, в этом ничего не понимаю, проще кажется будет установить все на 1 комп.

проще то проще, но в таком случае о идеи с рамдиском придется забыть. И в действительности там нет ничего сложного. Пример можете посмотреть здесь.

еще один вопрос. сейчас данных как я понимаю 80гб а что будет если обьем данных будет расти?

счас практически 40, запаса должно хватить.

нифига себе запас :)

пс убедитесь что у вас не такая ситуация

нет, в виндовсе, если не ошибаюсь, это называется tempdb.

неуверен что вы поняли о чем идет речь. Ну да ладно, может вам этого и не надо сейчасменьше знаєш — більше спиш

есть такая

серверная мать, на 2х форумах уже задал вопрос что б, не дорого и сердито, не хочу сюда еще дублировать.

"не дорогодешево иі сердито" скорее всего не получится ибо 12 слотов это далеко не обычная конфигурарация. Поэтому прежде чем тратить бабло (а его судя по всему вам придется потратить немало) вам нужно быть уверенным что все уже отоптимизированно по максимуму.

Выше вам анонимный товарищ еще раз сказал что у вас там не все в порядке. Я все еще тоже так думаю. Нас еще не «миллион мух» (с), но так как опыта у вас судя по всему не много, 100% что у вас там програмную часть можно улучшать и улучшать.

Поэтому если задача не супер-секретна - возьмите mercurial/git и выложите на bitbucket/github и покажите код.

Объемы более 32ГБ ставить обычными не ECC модулями будут только самоубийцы :)

спасибо, за совет, я даже не знал что такая есть), смотрел у себя в городе. в продаже есть тока один вид (Kingston DDR 2048Mb (KVR400D4R3A/2G) ECC, Registered).
ЕСС память подходит к всем процессорам?

отвечать/задавать вопрос нужно было на ответ peckmop`a. мне сие не к чему

ZuBB ★★★★★
()
Последнее исправление: ZuBB (всего исправлений: 1)
Ответ на: комментарий от ZuBB

проще то проще, но в таком случае о идеи с рамдиском придется забыть. И в действительности там нет ничего сложного. Пример можете посмотреть здесь.

Спасибо!

нифига себе запас :)

Запас это не очень большой, так как еще не полностью просчитанные все года. Вплоть до 2012 должно быть достаточно.

Поэтому если задача не супер-секретна - возьмите mercurial/git и выложите на bitbucket/github и покажите код

можно поподробней? git-как я понял это средство контроля версий кода, а github хостинг проектов?

chocolat
() автор топика
Ответ на: комментарий от chocolat

ТС, тебе говорят что проблема с базой, а ты собираешься все проблемы железом решать. Даю бесплатный совет: если база не поддерживает индексы по функциям то добавь в таблицу столбцы по параметрах отбора (год, сезон, месяц, день, час ...), заполни их, добавь триггер на insert/update для заполнения полей (почитай что это, крутая вещь), создай индексы по критериях. Profit. Эти простые шаги избавят от шуршания всеми гигабайтами базы.

andrewzvn
()
Ответ на: комментарий от chocolat

можно поподробней? git-как я понял это средство контроля версий кода, а github хостинг проектов?

да по обоим пунктам

справка о git по-русски https://github.com/GArik/progit/tree/master

клиент - http://git-scm.com/downloads/guis

ZuBB ★★★★★
()
Последнее исправление: ZuBB (всего исправлений: 1)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.