Skip to content

readme template

Romans Malinovskis edited this page Aug 25, 2016 · 8 revisions

Agile Data

Agile Data implements a new Database Access Logic created out of frustration with ORM performance issues, lack of proper domain-model implementation in major frameworks and lack of unified support for NoSQL databases.

Everything you can do with raw SQL (or NoSQL), you can also do with Agile Data

Although Agile Data is a very young project, we have built a solid foundation with the aim to expose database features (such as sub-selects, joins, unions, expressions, aggregation and custom syntax) to you through a beautiful API.

We also take the enterprise requirements very seriously, so we took care of object-relational impedance mismatch and are working to build extensions such as Audit Log, ACL, Undo, Optional Joins, Derived Models, Import/Export tools and expressive RestAPI Server.

Agile Data is not an ORM in the conventional sense. Things you know about traditional Data Mappers may not apply.

Quick Comparison

Modern PHP framewoks have a lot of things to focus on, so the bundled database access tools are often lacking. Until now the only option was to use Doctrine 2, but with Agile Data you can get the same features in a much more elegant PHP-like way.

Use Case Laravel Eloquent
Can my model consist of records from multiple hard-joined tables? Only through Query Builder
Can model property be populated from custom SQL expression?
Does my Entity have to extend a God Class? Yes
If I rename "name" into "first_name" in database, will this affect my API Yes