что-то в этом есть. вполне можно было бы не «переписывая всё с нуля» сделать это — например, написать php-extension, который работает как простой ORM или хотя бы как Model в CakePHP с find (там conditions мне нравятся), save, updateAll, delete, deleteAll.
я активно использую MySQL лет 9, но SQL-запросы в коде не писал уже несколько лет.
использую их только в консоли, чтобы быстро получить какой-то отчёт или для одноразовых bulk insert/update, когда это быстрее, чем писать скрипт.
поэтому SQL для многих становится действительно аналогом ассемблера: оно есть, но напрямую всё реже пользуются и часто не знают всех тонкостей (плохо, конечно, но опять же — большинству не надо).
MongoDB тоже люблю и использую.
идея очень хороша, много всяких приятностей. но пока есть много недостатков, например, «locks on a per-database basis for most read and write operations» (до 2.2 было ещё хуже — один global lock на весь mongod instance).
поэтому автор прав — большинству хватит и MySQL.
не стоит хвататься за всё модное, если нет желания вникать как оно работает, а просто чувствовать себя в тренде.
а потом и вторую проблему аналогично решим :)
Это менее идеологически верно, но зато можно писать очень мало кода.
Смысл в том, чтобы можно было писать:
$AlmostNoSql->model('Customer')->find('all', [ 'fields' => ['id', 'name', 'MAX(Invoice.paid_date) as last_paid_date'], 'contain' => ['Invoice' => ['paid_date', 'amount']], 'conditions' => [ 'Invoice.paid_date NOT' => null, 'Customer.account_expire_date <=' => date('Y-m-d'), ], 'order' => 'Customer.last_login_date DESC' ]);а вернулся массив
[ [ 'Customer' => ['id' => 1, 'name' => 'Jack', 'last_paid_date' => '2013-11-01'], 'Invoice' => [ ['paid_date' => '2013-11-01', 'amount' => 200], ['paid_date' => '2013-10-01', 'amount' => 200] ] ], [ 'Customer' => ['id' => 2, 'name' => 'Jill', 'last_paid_date' => '2013-11-05'], 'Invoice' => [ ['paid_date' => '2013-11-05', 'amount' => 100] ] ] ]источник: vincent-lecomte.blogspot.com/2011/01/web-php-zend-benchmark-pdo-vs-doctrine.html
но, вообще, по этикету хабра — такое лучше в личку, чтобы не отвлекать людей от чтения комментариев по существу ;)
я активно использую MySQL лет 9, но SQL-запросы в коде не писал уже несколько лет.
использую их только в консоли, чтобы быстро получить какой-то отчёт или для одноразовых bulk insert/update, когда это быстрее, чем писать скрипт.
поэтому SQL для многих становится действительно аналогом ассемблера: оно есть, но напрямую всё реже пользуются и часто не знают всех тонкостей (плохо, конечно, но опять же — большинству не надо).
MongoDB тоже люблю и использую.
идея очень хороша, много всяких приятностей. но пока есть много недостатков, например, «locks on a per-database basis for most read and write operations» (до 2.2 было ещё хуже — один global lock на весь mongod instance).
поэтому автор прав — большинству хватит и MySQL.
не стоит хвататься за всё модное, если нет желания вникать как оно работает, а просто чувствовать себя в тренде.
люди думали, что это всерьёз и минусовали.
для тех, кто не в курсе, причём MongoDB к web scale — вот перевод «MongoDB is web scale»
для тех, кто не в курсе, вот перевод «MongoDB is web scale»
вот перевод
для тех, кто не в курсе, вот перевод «MongoDB is web scale»
вот перевод
для тех, кто не в курсе, вот перевод «MongoDB is web scale»
для тех, кто не в курсе, вот перевод «MongoDB is web scale»