3. Parse
Extract
Store
Read XML
We don't do rocket
science...
Use Case
Runtime support for
document types
Metadata definition
provided at runtime
Document type names -
max 50 char
Look up content based
on metadata
RA
4. Challenges
Storage of up to one
million documents of
10KB to 2GB per
document type per year
Write 1MB < x msec
Retrieve 1MB < y msec
......and detailsRA
But…the Numbers make it
interesting...
6. if you want to store files,
its logical to use file system.
ain't it?
File System
✓ Ease of Use
✓ No special skill-set
✓ Backup and Recovery
✓ It’s free!
7. How do I name them?
Support for metadata storage?
Performance with too many small
files?
Query - Administration?
High
Availability?
Limitation on
total number of
files?
16. Challenge #2
TABLE NAME LIMITS
Wait…
SQL-92 says 128 Char
?
We rule. Let's support only
30 char.
TABLE NAME LIMITS
Wait…
SQL-92 says 128 Char
?
We rule. Let's support only
30 char.
26. ?
I'm storing 10KB file, but
would it use 256KB on disk?
Last Chunk =
FileSize % 256
+
Metadata overhead
256
1128KB
256 256 256
104
+ x
10KB
10
+ x
Chunk is as
big as it
needs to be...
27. Challenge #1
DEV
MongoDB supports Dynamic
Schema.
You can use collection per
docType and they are
created dynamically.
RA
We need runtime support
for document type.
31. BEcause seeing is believing!
Demo
‣ GridFS 2.4.0
‣ PostgreSQL 9.2
‣ Spring Data
‣ JMeter 2.7
‣ Mac OS X 10.8.3 2.3GHz
Quad-Core Intel Core i7,
16GB RAM
https://github.com/aparnachaudhary/nosql-matters-demo