But now, that Cassandra has SQL like query language, hadoop has SQL like hive and other NoSQLs implement semi-SQL interfaces, I believe a good definition is a database that is not one of
1. ACID
2. Strongly typed table schema.
But now, that Cassandra has SQL like query language, hadoop has SQL like hive and other NoSQLs implement semi-SQL interfaces, I believe a good definition is a database that is not one of
1. ACID
2. Strongly typed table schema.
Having a SQL-esque query language is very far from the implications of "doing SQL":
- Any external software that relies on SQL (not a similar language that looks like but it isn't) won't work.
- Any tool which expects SQL and expects SQL-based drivers (like JDBC, for instance) won't neither work.
- SQL is a huge standard with a significant number of features. This semi-SQL interfaces, at best, implement a tiny part of that used to be SQL 92, a standard by the Windows 3.1 era. So not a big deal if you compare with modern SQL implementations in databases like PostgreSQL.
So I think they are still very bound by the definition that they don't do SQL.
There really isn't any such thing as SQL/NoSQL any more.