10_Intro.asciidoc 1.5 KB

1234567891011121314151617181920212223242526272829
  1. [[scale]]
  2. == Designing for scale
  3. Elasticsearch is used by some companies to index and search petabytes of data
  4. every day, but most of us start out with something a little more humble in
  5. size. Even if we aspire to be the next Facebook, it is unlikely that our bank
  6. balance matches our aspirations. We need to build for what we have today, but
  7. in a way that will allow us to scale out flexibly and rapidly.
  8. Elasticsearch is built to scale. It will run very happily on your laptop or
  9. in a cluster containing hundreds of nodes, and the experience is almost
  10. identical. Growing from a small cluster to a large cluster is almost entirely
  11. automatic and painless. Growing from a large cluster to a very large cluster
  12. requires a bit more planning and design, but it is still relatively painless.
  13. Of course, it is not magic. Elasticsearch has its limitations too. If you
  14. are aware of those limitations and work with them, the growing process will be
  15. pleasant. If you treat Elasticsearch badly, you could be in for a world of
  16. pain.
  17. The default settings in Elasticsearch will take you a long way but, to get the
  18. most bang for your buck, you need to think about how data flows through your
  19. system. We will talk about two common data flows: <<time-based>> like log
  20. events or social network streams where relevance is driven by recency, and
  21. <<user-based>> where a large document corpus can be subdivided by user or
  22. customer.
  23. This chapter will help you to make the right decisions up front, to avoid
  24. nasty surprises later on.