Within an application, I'm using Fabric.js, which allows customers write text, draw SVG's, place images etc.
I wish to know, what's the easiest method to store this data.

Needs are:

  1. Capability to query the information(text), which informs me which i should store it in DB (MySQL by now)

  2. I've images, and i'm focusing on IPad too, therefore the images are essential, regarding the way they are saved.

  3. SVG's and HTML/CSS to become saved too.

  4. I should also do versioning from the content, as Quora will it, to ensure that a person can easily see the alterations in the past version to the present version. This includes the versioning of images and SVG's.

I'm wondering how Google Paperwork will it, simply because they also store our documents, sketches etc.

What's the easiest way to do this?

i dont known whether it helps but, Opera browser present an choice to save the web pages for an unique file , this stores all of the files in base64 encoded text for any use later opened up ... maybe this is often a method to store data :P

If you wish to query the written text effectively, then possibly putting all items of information in to the DB individually is easily the most efficient. You may with to experience with OOXML or ODF, that is container for those information you need, after which XML-storage (e.g. eXist) to keep it and query (e.g. the written text). Because these standards are XML-based, you are able to transform them into HTML (e.g. here or here) but writing a web-based editor with this is one thing that monster like Google can perform.

You are able to have a look at NoSQL databases like MongoDB or CouchDB

See also Storing images in NoSQL stores

I run a webapp where customers generate reviews, and located it more effective to keep images and binary files within the filesystem, and connect to them in the database. Elements which are in xml or text are stored within the database for simpler searching - inside your situation this could include css/html and svg (that is xml). Make use of the database for controlling revisions.

May also read this thread on storing images in a database.

It appears like Frabic.js is applying the node.js javascript webserver around the after sales - haven't used this before, however, you might investigate which databases are simplest to make use of with node.js: