Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Mysql PostgreSql PDO бекап

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (4): [1] 2 3 4 »   

> Без описания
3d_killer
Отправлено: 26 Марта, 2016 - 01:41:06
Post Id



Участник


Покинул форум
Сообщений всего: 1916
Дата рег-ции: Апр. 2011  
Откуда: Ростов-на-Дону


Помог: 21 раз(а)




Появилось немного времени решил попрактиковаться с БД Postgres
Работаю с PDO (с подключением проблем не возникло)
Бекап с Mysql развернуть я так понял не получится, синтаксис разный, как быть?
даже кавычки отличаются
если у mysql INSERT INTO `rs-cms_adresat_directory`
у постгри INSERT INTO "rs-cms_adresat_directory"
на что друг у друга конфликт, как делать универсальный бекап, как работают с этим другие программы например 1C, по созданию базы тоже синтаксис сильно разнится.
Кто сталкивался с подобным вопросом, как можно его решить?
 
My status
 Top
LIME
Отправлено: 26 Марта, 2016 - 07:47:21
Post Id


Активный участник


Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010  


Помог: 322 раз(а)




тоже интересует
хотя подозреваю что разработчики слона просто смотрят на дельфинчика свысока
такое "фи"
хотя для оракла очень даже разработан портер
наверняка есть портер и для мускула
конечно без индексов
3d_killer индексы и партицирование и репликалиция
очень много отличий
скорее нет ответа
http://www[dot]youtube[dot]com/playlist?[dot][dot][dot]bZm-9-vKsi6vh5qC
рекомендую
вопросы думаю отпадут в виду понимания глупости самого вопроса
(Добавление)
Пысы: для последнего своего поекта выбрал дельфина
Причем самый некошерный myisam
Нифига не транзакционный
Нифига не реплицируемый
Но невероятно шустрый
Короче мораль в том что надо знать отличия
И выбирать зная
 
 Top
Viper
Отправлено: 26 Марта, 2016 - 09:25:13
Post Id



Активный участник


Покинул форум
Сообщений всего: 4555
Дата рег-ции: Февр. 2007  
Откуда: Симферополь


Помог: 98 раз(а)




3d_killer пишет:
Кто сталкивался с подобным вопросом
есть query builder'ы. Собстно прослойка для построения запросов а внутри для каждой БД свой класс для работы. И вам не нужно париться про отличия. Единственное sql-дампы для каждого типа БД свои.


-----
Список фильмов с описанием, блекджеком и... для Joomla? -> https://киноархив[dot]com
Демо нового движка для сайта php.su -> php[dot]su, проект на гитхабе
 
 Top
LIME
Отправлено: 26 Марта, 2016 - 09:35:28
Post Id


Активный участник


Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010  


Помог: 322 раз(а)




Viper ыгым
Если забыть про то что слон любит скрипты внутри себя
Горизонтальное шардирование например
Нифига не тривиально
 
 Top
3d_killer
Отправлено: 26 Марта, 2016 - 09:36:31
Post Id



Участник


Покинул форум
Сообщений всего: 1916
Дата рег-ции: Апр. 2011  
Откуда: Ростов-на-Дону


Помог: 21 раз(а)




LIME, в том то и дело что о различиях я в курсе, последний проект я делал на MySQL, пока данных не много в нем, но ожидается прилично. Это база данных недвижимости, у каждого типа недвижимости куча свойств, они разные, соответственно сделаны эти свойства не полями. Соответственно, при запросах на выборку выходит очень много Left Join, на небольшом объеме данных все хорошо, но пробовал рендомно накидать объектов под 200 тыс, это превращается в ад, запросы по 15-30 секунд. Перевод в myisam базы немного повысил производительность, но недостаточно.
Недавно я задавал вопрос на форуме, по этому поводу, в итоге сделал таблицу memory дублирующую таблицу куда нацелены LEFT JOIN и триггером ее обновлял при добавлении или апдейте основной, то есть обновление и чтение конкретного объекта идет из основной, а выборка из Memory, поэтому начал смотреть в сторону postgresql, через Pgadmin собрал базу набил данными и пробовал запросы, работает намного быстрее, но вот с бекапом конечно вопрос интересный.
В принципе можно парсить и заменять ENGINE=InnoDB AUTO_INCREMENT=22 DEFAULT CHARSET=utf8 и т.д. на слова Pestresа, но если бекап огромный, как обработать столько данных, думаю, что как то таким образом и сделано например в 1С, так как постгри 1С поддерживать стала не так давно, кстати и не с любым работает для этого выпущен патч, то есть название примерно такое PostgreSQL 9.0.3-3.1C

(Отредактировано автором: 26 Марта, 2016 - 09:38:17)

 
My status
 Top
LIME
Отправлено: 26 Марта, 2016 - 09:37:13
Post Id


Активный участник


Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010  


Помог: 322 раз(а)




Или ты намекиваешь на Orm?
(Добавление)
Вопрос вайперу
(Добавление)
3d_killer пишет:
Это база данных недвижимости, у каждого типа недвижимости куча свойств, они разные, соответственно сделаны эти свойства не полями.
УЖЕ ПЕРЕСТАЛ ЧИТАТЬ
капс случайно
значит юзай слона
самое то
и порт сам пиши
не все так просто как ты думаешь
для начала изучи что есть B-tree
дерево индексов в мускуле это все что надо знать
в слоне посложнее и погибче
(Добавление)
3d_killer пишет:
елал таблицу memory дублирующую таблицу куда нацелены
явно думай про Redis
(Добавление)
LIME пишет:
явно думай про Redis
тут тебе и независимость от Storage
твой проект не должен зависеть от бд
критичные вещи не должны зависеть от субд
думай в этом направлении
разделяй и властвуй
это принцип построения кода если кто не понял
гуглить
 
 Top
3d_killer
Отправлено: 26 Марта, 2016 - 09:49:27
Post Id



Участник


Покинул форум
Сообщений всего: 1916
Дата рег-ции: Апр. 2011  
Откуда: Ростов-на-Дону


Помог: 21 раз(а)




Viper вот я и привел пример 1С, у нас файловая база или MSSQL неважно, зашли в программу выгрузили бд, это один файл потом создали на серваке подключение к постги, зашли в программу и развернули бекап с данными на нем, там не 2 внутри бекапа
 
My status
 Top
LIME
Отправлено: 26 Марта, 2016 - 09:51:03
Post Id


Активный участник


Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010  


Помог: 322 раз(а)




3d_killer вот и я о чем
не надо критичные вещи решать на уровне субд
тогда и порт проще написатьбудет
я все сказал
удаляюсь
 
 Top
3d_killer
Отправлено: 26 Марта, 2016 - 09:52:37
Post Id



Участник


Покинул форум
Сообщений всего: 1916
Дата рег-ции: Апр. 2011  
Откуда: Ростов-на-Дону


Помог: 21 раз(а)




LIME вот я и думал про нерелятиционную базу, просто как бы не работал раньше с ними и пока не могу сказать про скорость выборки, а так же при применении нерелятиционной бд возможно использование ее частично, то есть данные что касаются обектов хранятся в редис все остальное в mysql
 
My status
 Top
LIME
Отправлено: 26 Марта, 2016 - 09:59:09
Post Id


Активный участник


Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010  


Помог: 322 раз(а)




3d_killer дык вот в том и дело чтоб бд была только на выборку сохранение и ничего более
если конечно проект не диктует другого
а простого порта между субд не быавет... обычно
разрабы постгреса сделали порт для оракла
но это исключение
сделай так чтобы вызывать в проекте только методы сохранения/получения и ничего более
тогда и переходить на другой субд будет проще
хотя тут есть вопрос... с развитем проекта неизбежно возникает необходимость оптимизировать субд
и тогда становится сложнее поддерживать независимость
но одновременно становится понятнее какая субд более подходит
короче все сложно и поэтапно))
 
 Top
3d_killer
Отправлено: 26 Марта, 2016 - 10:00:40
Post Id



Участник


Покинул форум
Сообщений всего: 1916
Дата рег-ции: Апр. 2011  
Откуда: Ростов-на-Дону


Помог: 21 раз(а)




в той таблице уникальных индификаторов нет, вот мысли по редис тоже появлялись
 
My status
 Top
LIME
Отправлено: 26 Марта, 2016 - 10:03:09
Post Id


Активный участник


Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010  


Помог: 322 раз(а)




3d_killer пишет:
вот мысли по редис тоже появлялись
сам посоветовал и сам предостергу
тут надо думать
усложнять проект и универсифицировать хранение или упрощать и зависеть от субд
универсального решения нет
зависит от проекта
короче нифига не тривиально
 
 Top
3d_killer
Отправлено: 26 Марта, 2016 - 10:06:54
Post Id



Участник


Покинул форум
Сообщений всего: 1916
Дата рег-ции: Апр. 2011  
Откуда: Ростов-на-Дону


Помог: 21 раз(а)




LIME понял что все сложно, буду думать, благодарю за советы
 
My status
 Top
LIME
Отправлено: 26 Марта, 2016 - 10:08:42
Post Id


Активный участник


Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010  


Помог: 322 раз(а)




3d_killer поздравляю))
level up
это когда уже невозможно решать следуя гайдам из нета
придется разбираться ))
удачи
 
 Top
OrmaJever
Отправлено: 26 Марта, 2016 - 13:05:35
Post Id



Активный участник


Покинул форум
Сообщений всего: 7540
Дата рег-ции: Янв. 2010  
Откуда: Чернигов


Помог: 299 раз(а)




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


-----
Если вы хотя бы 3-4 раза не решите всё выкинуть и начать заново - вы явно что-то делаете не так.
 
 Top
Страниц (4): [1] 2 3 4 »
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« SQL и Архитектура БД »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB