Работа с БД под магенто

1) Существует ли какои негативные эффект при перемешивании БД; - нет, не существует. Для самого MySQL перемешивания нет - он работает с тем, что есть. Так же как и кодировки - база может быть в 1 кодировке, таблица в другой, а строка - в третьей.

2) Какова есть хорошая практика в управлении БД, используя различные типы таблиц; - см. выше - для MySQL без разницы с чем работать.

3) Нужно ли разделить эти БД и, если да, то как это сделать; - нет, не требуется

4) Как мы делаем backup БД с различными типами таблиц? - Так же, как и с одинаковыми типами. 1 ограничение: MyISAM можно просто физически скопировать файлы, InnoDB - только через экспорт в SQL-файлы (либо другие типы бекапов).

Огромное спасибо за Ваш ответ. Это просто отлично. :ay:

Но, как мы можем отделить различные БД, то есть, иметь БД какого-либо веб-сайта и БД Magento в отдельных местах (в разных папках), но в то же время, используя один сервер MySQL. Я читал, что это может быть сделано с помощью различных процесса (Running Multiple MySQL Instances on One Machine), но я не могу до сих пор реализовать идею на практике - как именно это должно быть выражено в my.ini?

Серьезно, я думаю, что хорошая идея иметь БД Magento отделено от других БД, если это возможно. Это, вероятно, поможет в случае, если вам нужно восстановить DB после коррупции.
 
А теперь прочитайте внимательно мой ответ. Нет никакого смысла отделять базы и хоть как-то вмешиваться в работу MySQL. Сервер MySQL дорабатывался и допиливался много лет - ему лучше знать как сделать то, что Вы от него хотите.
 
Серьезно, я думаю, что хорошая идея иметь БД Magento отделено от других БД, если это возможно. Это, вероятно, поможет в случае, если вам нужно восстановить DB после коррупции.

чтобы восстановить бд после краха есть бэкапы, которые по крону делает как магенто, так и есть возможность делать внешними средствами. также есть возможность сообразить кластер хозяин-раб, при крахе любого из них второй остаётся в строю. разделение движков ни в коем разе не прибавляет в надёжности работы системы, скорее наоборот.
отделять myisam от innodb нет смысла, так как на физическом уровне базы innodb и myisam хранятся в разных хранилищах.

ps: магенто не работает c myisam. только с innoDB.
 
чтобы восстановить бд после краха есть бэкапы, которые по крону делает как магенто, так и есть возможность делать внешними средствами. также есть возможность сообразить кластер хозяин-раб, при крахе любого из них второй остаётся в строю. разделение движков ни в коем разе не прибавляет в надёжности работы системы, скорее наоборот.
отделять myisam от innodb нет смысла, так как на физическом уровне базы innodb и myisam хранятся в разных хранилищах.

Понял. Ну хорошо, может быть это глупый вопрос, а можно по крайней мере распознать, в которых папках или файлах является какая БД (MyISAM или InnoDB) просто взглянув на папки?
 
Отвечу по феншую: а Вам оно нужно? Чего Вы вообще прицепились к внутреннему устройству MySQL? Вы магазин делаете или высоконагруженную платформу аля вк?

Более того, если ты задаёшь такие вопрос - в MySQL ты нуб, а в системное администрирование без должных знаний вообще соваться нельзя. Я не могу тебе сейчас в 10 предложениях пересказать книгу по MySQL на 300 страниц. Там множество тонкостей и т.д.

В твоём случае всё просто - пишешь в ТП хостера: "нужно поставить Магенто, требуется ИнноДБ" - тебе ответят предоставляют ли они это или нет. Всё. Ты эти файлы в жизни не увидишь и не надо тебе на них смотреть. Есть phpMyAdmin, есть удалённые средства работы с MySQL. И не надо без знаний лезть в дебри. Даже я с опытом администрирования и более 4 лет в ТП хостров не лезу в системные папки, если критично не припёрло.

P.s. распознать тип можно, а смысл? Вы даже не знаете папку, где они лежат...
MyISAM создаёт файлы .myd, myi, frm. InnoDB создаёт только .frm, а данных хранит в общем файле ibdata1 (для всех юзеров, баз и таблиц)
 
Отвечу по феншую: а Вам оно нужно? Чего Вы вообще прицепились к внутреннему устройству MySQL? Вы магазин делаете или высоконагруженную платформу аля вк?

Более того, если ты задаёшь такие вопрос - в MySQL ты нуб, а в системное администрирование без должных знаний вообще соваться нельзя. Я не могу тебе сейчас в 10 предложениях пересказать книгу по MySQL на 300 страниц. Там множество тонкостей и т.д.

В твоём случае всё просто - пишешь в ТП хостера: "нужно поставить Магенто, требуется ИнноДБ" - тебе ответят предоставляют ли они это или нет. Всё. Ты эти файлы в жизни не увидишь и не надо тебе на них смотреть. Есть phpMyAdmin, есть удалённые средства работы с MySQL. И не надо без знаний лезть в дебри. Даже я с опытом администрирования и более 4 лет в ТП хостров не лезу в системные папки, если критично не припёрло.

P.s. распознать тип можно, а смысл? Вы даже не знаете папку, где они лежат...
MyISAM создаёт файлы .myd, myi, frm. InnoDB создаёт только .frm, а данных хранит в общем файле ibdata1 (для всех юзеров, баз и таблиц)

Ну ты и раскрутился. Никто не спорит на счет того кто больше опыту имеетъ. Я уже довно проговорился, что опыту у мэнэ не шипко много. Потому и спрашаю всякую глупость - Собеседник же я. Ну а есле по серёзнее - устраиваю я свой собственный сервак, чтоб с провайдерами не мучиться. Учусь я все, учусь. Так что успокойся. А за хороший совет я никогда на спасибо не жадничую. Спасибо за P.S. однако. ;)
 
Sobesednik, Вы этим себе только кучу проблем получите...
Я уже давно всем пытаюсь объяснить, почему хостинг дороже VDS и серверов. Потому что там стоит настроенное ПО, полностью рабочее и готовое под Ваши цели и задачи. Когда Вы берёте VDS или сервер - на Вашу участь падает его настройка и поддержание. Да, Вам помогут поставить ISPmanager и может даже его немного настроить. Но ни одна ТП не будет рассказывать тонкости настройки my.ini, защиты от ДДоС и т.д. Всё это падает лично на Вас.

Так что ставить свой сервер и "не зависеть от провайдера" - это могут позволить себе профи, кто способен с нуля поднять сервер и его полностью настроить без посторонней помощи. При этом у него должно хватить навыков для исправления аварийных ситуаций (упал MySQL, сдохла почта и т.д.) - провайдер Вам будет отвечать на такие запросы "VDS работает, с нашей стороны проблем нет" и останетесь Вы в глубокой заднице.

Так что нет знаний - добро пожаловать на шаред. Чтобы иметь VDS с нормальными настройками - нужны годы практики.

P.s. я могу свободно ответить на 90% вопросов по хостингу, скриптам и т.д. но я не берусь поднимать VDS, ибо я не системный администратор и отдаю себе отчёт, что не смогу исправить аварийные ситуации.

donvictorio, Вы сейчас советуете не стандартное решение человеку, который не знает стандартных... Это тоже самое, что предлагать править PHP-код человеку, который не знает HTML... Тем более, дали ссылку на кластерную версию... Sobesednik, не соберёт сейчас кластер...
 
donvictorio, Для просмотра ссылки Войди или Зарегистрируйся Спасибо вам обоим за ваши предложения. Тем не менее, я вижу их больше как предложения для настоящего новичка или просто невходящие в рамки моих плланов. На самом деле, несмотряя на то что все что я делаю выглядит как хобби, у меня уже есть простой сервер в рабочем состоянии и без особых проблем. Что есть «плохого» в меня, это то, что я не могу остановиться, и поэтому я иногда копаю слишком глубоко (ненужная вещ). Вот почему я знаю, все понемногу: HTML. PHP, MySQL, Apache, и т.д. А на сейчас, я пытаюсь присоеденить Magento к моей Joomla. И кстате, я даже не програмист. И ненадо обижаться, если по серьезному - нету глупых вопросов, есть только нерешенные вопросы...
 
Основным критерием роста БД являеются логи, импорт/экспорт. Для этого вам в БД надо создать SQL запрос и в него вписать это:
TRUNCATE dataflow_batch_export;
TRUNCATE dataflow_batch_import;
TRUNCATE log_customer;
TRUNCATE log_quote;
TRUNCATE log_summary;
TRUNCATE log_summary_type;
TRUNCATE log_url;
TRUNCATE log_url_info;
TRUNCATE log_visitor;
TRUNCATE log_visitor_info;
TRUNCATE log_visitor_online;
TRUNCATE report_viewed_product_index;
TRUNCATE report_compared_product_index;
TRUNCATE report_event;

Те строки, которые могут выдаваться ошибками(иногда бывает), можно убрать из списка повторив уже без строки. Такое желательно хотя бы раз в месяц делать. Если будет интересно рассмотреть более подробно, обратите внимание на таблицы : dataflow_batch_export, dataflow_batch_import, log_url, log_url_info, log_visitor - они перечислины в SQL запросе. Это основные таблицы которые забирают много места в БД.

Еще вопрос, от владельца магазина на Магенте. Вы содержите платформу на обычном хостинге? Если, да, то как происходит индексация, т-к у нас не получалось ее выполнить более с чем 10 тыс товаров. Только после перехода на VPS.


После выполнения запроса получил сообщение:

TRUNCATE dataflow_batch_export;# MySQL вернула пустой результат (т.е. ноль строк).

И так по каждому запросу, ошибку не выдало, но и не дало результата. База уже 2,8 Гбайта... Растет как на дрожжах, товары не добавлял в последнее время..

Что еще посоветуете?
 
Назад
Сверху