Java vs Storage: Time to Scale - A deep dive into storage models, at the tipping point of scale.*
A storage model is a series of frameworks and design philosophy of their usage. How do you know which storage model is correct for your application?
This session covers a broad range of topics related to the task of persisting objects into relational storage. We will investigate the pros and cons of very rigid relational models to very loose models of relational storage.
A storage model is a series of frameworks and design philosophy of their usage. How do you know which storage model is correct for your application? What happens when your generic object storage slows down? How do you allow classes/types to change at runtime while keeping your storage reliable and your site up? How do you manage change when you have hundreds or thousands of entities (multi-tenant system)? Can memcached or Hadoop solve your problems?
This session covers a broad range of topics related to the task of persisting objects into relational storage. We will investigate the pros and cons of very rigid relational models (very normalized, heavily indexed) to very loose models of relational storage (pivot and extension tables). There has been buzz about Open Source persistence frameworks. We will pay these models/frameworks their due attention. During the discussion, we will tangent slightly to talk about various different storage approaches:
- ORM solutions: Hibernate, iBatis.
- Ruby’s ActiveRecord
- Distributed hashtables (DHTs) such as Hadoop
- Putting data “into the cloud”
By the end of the discussion, you should be able to identify the proper storage model for your needs.
Mike Tria leads the Architecture team at Rearden Commerce. He has worked as an engineer & consultant in the travel, financial, security, and e-commerce sectors. He draws on his experience at Rearden Commerce, consulting at Fortune 500 companies, and building large-scale systems on Open Source technologies. Mike has presented at JBossWorld and LinuxWorld, speaking on topics such as open source migration and large infrastructures. Mike’s core focus is building “usable” architectures within large systems/domains models.