This presentation was delivered during Softshake 2013. Learn why application developers should learn various programming languages and persistent stores
Sources, .. • Does Hibernate/JPA is good for all? Impedance mismatch • Need to scale from 0 to 50millions users in 6 weeks (real life) can I do that easily with such architecture? • How to add new features easily? code, schema change, ... and all this for yesterday! • Lot of code Monday, October 28, 13
2011 Digital Universe Study (h<p://www.emc.com/collateral/demos/microsites/emc-‐digital-‐universe-‐2011/index.htm) Trillions of Gigabytes (Ze<abytes) Big Data High Data Variety and Velocity Unstructured and Semi-‐ Structured Data Structured Data Text, Log Files, Click Streams, Blogs, Tweets, Audio, Video, etc. More Flexible Data Model Required Monday, October 28, 13
RDBMS Scales Up Get a bigger, more complex server Users ApplicaIon Scales Out Just add more commodity web servers Users System Cost ApplicaTon Performance Rela:onal Database Web/App Server Tier System Cost ApplicaTon Performance Won’t scale beyond this point How do you take this growth? Monday, October 28, 13
Scales Out Cost and performance mirrors app Ier Users NoSQL Distributed Data Store Web/App Server Tier ApplicaIon Scales Out Just add more commodity web servers Users System Cost ApplicaTon Performance ApplicaTon Performance System Cost NoSQL Technology Scales Out Monday, October 28, 13
Programming API How to access the data? (API, Query Languages) • Learn how to design data-‐model De-‐normalizing and duplicate data is not a problem • Integrate each solu-on to your applica-on • Note: This is something you already do ! OperaTonal RDBMS and Data Warehouse Monday, October 28, 13
HTML/CSS/JavaScript + Server Side Mobile NaTve ApplicaTons • Java/.Net have not evolved that must these past years Java EE 5.0 is sTll mainstream (2006) • Many languages and frameworks Scala, Clojure, Groovy, Dart, Go, Ruby, Python, F#, Erlang Node.js, Rails, Play!, Grails, ... Monday, October 28, 13
Java EE 7 to be out? Hack your app server and applicaTon with ConTnuaTon ? Use Node.js and Socket.io ? • Data Collec-on and Treatment? Find a library? Create your library? Wait for Java 8 and Lambdas? Use Scala? ... or other Monday, October 28, 13
and OTP (Open Telecom Plaform) has been built for that Taking this will bootstrap a project quickly instead of implemenTng in another language • Data access and Caching C/C++ is the best/fastest way to interact with I/O Leverage exisTng Caching layer, for example Memcached wrigen in C • Query & Indexing Easy to code for developer : Let’s use JavaScript Monday, October 28, 13
Do not try to “hack” something when you have a shorter soluTon Think about your users first... so deliver and get feedback • Learning is part of our job ! And this will help you and your project • What about maintenance? Do you think it is easier to maintain complex code? Monday, October 28, 13