Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Breaking the oracle tie
1. 1
Breaking the Oracle tie;
High Performance OLTP and analytics using MongoDB
AlexandrosGiamas
Senior Software Engineer
2.
3. 4
Can you afford to leave half the opportunity on the table?
You won't believe it
Pick an Online Number!
Why you'll love your Online Number:
1. Your friends without VoIP can call you
2. You answer on VoIP
3. You also have voicemail included
I like that!
2.07%
You won't believe it
Pick an Online Number!
Why get an Online Number:
1. Your friends without VoIP can call you
2. You answer on VoIP
3. You also have voicemail included
I like that!
1.42%
You won't believe it
They dial, you answer on VoIP!
Why you'll love your Online Number:
1. Family & friends without VoIP can call
you
2. You answer on VoIP
3. And you can use it from anywhere in the
world
I like that!
1.11%
…another 16 Million +
combinations
4. The Marketing Communication Suite
We Generate the marketing messages that work best.
For any customer, any product, at any time.
15. Sizing transactional data
☛ User Terminated data
☛ User Originated data
☛ Metadata (state for User per campaign and globally)
☛ Must hold data in memory, or at least indexes
16. ETL for OLAP
Offline / Online processing
•Going online is mostly simpler
•Offline must take into account data irregularities (data validation
policy driven by business needs)
17. ETL for OLAP
☛Custom Data transformation
☛Custom “continueOnError” implementation
21. Your own mini transactions
Break down Spring Batch steps in idempotent and non idempotent
ones
•For idempotent steps, just replay them
•For non idempotent, replace current state with last known good
state before latest spring batch step invocation (undo log) and retry
the step
22. Your own mini transactions Issues
•16MB document size limit...
•Slow to replay
•Hard to test using Selenium
27. Analytics using the Aggregation Framework
Double project phase, followed by grouping results
28. Analytics using the Aggregation Framework
Pros:
✓ More flexible than it sounds
✓ Rapid development
✓ Easy debugging
Cons:
✘ No custom js supported
✘ Memory limitation
✘ API still evolving
29. Fine grained write semantics and asynchronous magic
Fine grained write semantics
•WriteConcern.SAFE for most writes
•WriteConcern.REPLICAS_SAFE for writes that are costly
to recompute in case of failure
Reactive Mongo
•Asynchronous and non blocking scala driver for
MongoDB
•Async writes with WriteConcern.SAFE and callback retry
policy in case of error