All streams
Search
Write a publication
Pull to refresh
13
0
Владимир Лучанинов @how

Пользователь

Send message
Дороги — наша давняя головная боль. Поэтому они будут уничтожены.

а потом и вторую проблему аналогично решим :)
отсутствие технического образования ещё не делает человека гуманитарием )
Можно без объектов — массивами, без указания списка полей. Так работает CakePHP.
Это менее идеологически верно, но зато можно писать очень мало кода.

Смысл в том, чтобы можно было писать:
$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]
        ]
    ]
]
всё-таки есть небольшой overhead :)


источник: vincent-lecomte.blogspot.com/2011/01/web-php-zend-benchmark-pdo-vs-doctrine.html
что-то в этом есть. вполне можно было бы не «переписывая всё с нуля» сделать это — например, написать 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.
не стоит хвататься за всё модное, если нет желания вникать как оно работает, а просто чувствовать себя в тренде.
если жалко выделенный сервер, то, наверное, решаемая задача не «web scale» и достаточно MySQL :)
спасибо, переименовал статью, а то была неузнаваемой.
люди думали, что это всерьёз и минусовали.
<nerd> оригинал всё же — www.gar1t.com/blog/mongo-db-is-web-scale.html </nerd>
habrahabr.ru/post/204392/
для тех, кто не в курсе, причём MongoDB к web scale — вот перевод «MongoDB is web scale»
habrahabr.ru/post/204392/
для тех, кто не в курсе, вот перевод «MongoDB is web scale»
habrahabr.ru/post/204392/
для тех, кто не в курсе, вот перевод «MongoDB is web scale»
habrahabr.ru/post/204392/
для тех, кто не в курсе, вот перевод «MongoDB is web scale»
habrahabr.ru/post/204392/
для тех, кто не в курсе, вот перевод «MongoDB is web scale»

Information

Rating
Does not participate
Location
Киев, Киевская обл., Украина
Registered
Activity