Re: Choosing MySQL or NoSQL Database For My Scenario

From: Lew Pitcher <lew.pitcher_at_digitalfreehold.ca>
Date: Tue, 12 May 2015 15:28:30 -0400
Message-ID: <yvs4x.383112$fV3.8460_at_fx25.iad>


On Tuesday May 12 2015 00:53, in
comp.databases.mysql, "mbilal_at_aurorasolutions.io" <mbilal_at_aurorasolutions.io> wrote:

> Hello All,
>
> I have a scenario where i have to store timesheets of different projects.
> The object graph is like this: Timesheet->Project->User
>
> A user can create multiple projects. And a project can have multiple
> timesheets. So in my scenario it is expected that timesheet data will grow
> continuously. So if I create a table for timesheet in MySQL the data in it
> will start growing continuously which can become a bottleneck. I have to
> read timesheets also i have to edit them and create new ones quite often.

As Herman said, each timesheet will have a lifecycle of birth, growth, and (finally) completion. When you close a project and complete the timesheet, you can archive it; extract it to an offline store and purge it from your online database.

> So can you please guide which database is best for this scenario MySQL or
> NoSQL database(MongoDb and Cassandra).

I would go with a database that provides ACID (http://en.wikipedia.org/wiki/ACID) and such data definition and control tools to offload the maintenance of referential integrity and column indexing from the application code. Typically, this means a proper, relational database, typically accessed through Structured Query Language. (to me, there is no such thing as an SQL database; it is a /relational database/ accessed with SQL).

As for the best relational database, why limit yourself to MySQL? There's also MariaDB (MySQL-compatable, from the author of MySQL), PostgreSQL, Ingres, and others.

[snip]

-- 
Lew Pitcher
"In Skills, We Trust"
PGP public key available upon request
Received on Tue May 12 2015 - 21:28:30 CEST

Original text of this message