SlideShare une entreprise Scribd logo
1  sur  48
Télécharger pour lire hors ligne
PlaySta'on	
  and	
  Lucene	
  
Indexing	
  1M	
  documents	
  per	
  second	
  	
  
Who	
  is	
  talking	
  
Alexander	
  Filipchik	
  (PSN:	
  LaserToy)	
  
Principal	
  So>ware	
  Engineer	
  	
  
	
   	
   	
   	
   	
   	
  at	
  Sony	
  Interac've	
  Entertainment	
  
	
  
	
  
Me	
  
Agenda	
  
•  Quick	
  PSN	
  overview	
  
•  Search	
  at	
  PlayStaEon	
  
•  First	
  system:	
  200k	
  docs/second	
  for	
  PS	
  Store	
  
•  Friends	
  Finder	
  and	
  the	
  Epic	
  Journey	
  
•  And	
  finally	
  1M	
  docs/second	
  	
  	
  
The	
  Rise	
  of	
  PlayStaEon4	
  
PlayStaEon	
  Network	
  is	
  big	
  and	
  growing.	
  
–  Over	
  65	
  million	
  monthly	
  acEve	
  users.	
  
–  Hundreds	
  of	
  millions	
  of	
  users.	
  
–  More	
  than	
  40M	
  devices	
  
–  A	
  Lot	
  of	
  Services.	
  
Some	
  Search	
  Examples	
  
What	
  is	
  it?	
  
•  It	
  is	
  an	
  online	
  store	
  for	
  PlayStaEon	
  
•  To	
  give	
  you	
  an	
  idea:	
  
–  Revenue	
  went	
  from	
  800M	
  per	
  year	
  several	
  years	
  ago	
  
to	
  almost	
  5B	
  last	
  year	
  
–  It	
  is	
  making	
  more	
  than	
  all	
  of	
  Nintendo	
  
•  And	
  it	
  is	
  not	
  just	
  eCommerce,	
  it	
  is	
  connected	
  to	
  a	
  
whole	
  set	
  of	
  services	
  –	
  Video	
  Streaming,	
  Game	
  
Streaming,	
  Social,	
  etc	
  
Search	
  use	
  cases	
  
•  Simple	
  game	
  or	
  video	
  search	
  
– Nothing	
  exciEng	
  here:	
  just	
  Solr	
  
– But	
  you	
  said	
  something	
  is	
  indexing	
  200k	
  doc/sec	
  
and	
  I	
  don’t	
  believe	
  there	
  are	
  so	
  many	
  games	
  and	
  
videos	
  out	
  there!	
  
-­‐  User	
  game/videos	
  library,	
  which	
  is	
  powered	
  
by	
  Lucene	
  and	
  Cassandra	
  	
  
Challenges	
  that	
  led	
  to	
  the	
  design	
  
•  We	
  are	
  not	
  Amazon,	
  so	
  content	
  should	
  be	
  delivered	
  
right	
  away	
  
•  What	
  you	
  bought	
  is	
  not	
  just	
  a	
  transac'onal	
  record	
  
which	
  user	
  checks	
  once	
  in	
  a	
  while.	
  MulEple	
  services	
  
need	
  instant	
  access	
  to	
  this	
  informaEon	
  in	
  real	
  'me	
  
•  Which	
  means	
  it	
  should	
  be	
  
–  highly	
  available	
  
–  fast	
  
–  easy	
  to	
  scale	
  
–  launch	
  and	
  forget	
  
The	
  Problem	
  
•  Legacy	
  System	
  uses	
  well	
  known	
  RelaEonal	
  DB	
  to	
  
handle	
  our	
  transacEons.	
  
•  It	
  is	
  state	
  of	
  the	
  art	
  so>ware	
  that	
  doesn’t	
  scale	
  
well	
  in	
  our	
  circumstances.	
  	
  
•  We	
  wanted	
  to	
  allow	
  client	
  to	
  run	
  any	
  queries	
  
without	
  consulEng	
  with	
  DBAs	
  first.	
  
•  Sharding	
  sounded	
  like	
  a	
  pain.	
  
•  Mul'ple	
  regions	
  should	
  be	
  easy.	
  
SoluEon,	
  as	
  easy	
  as	
  
NoSQL	
  
But	
  hold	
  on	
  
Axiom	
  
It	
  is	
  Not	
  Easy	
  to	
  Replace	
  a	
  RelaEonal	
  Database	
  
with	
  NoSQL	
  for	
  user	
  facing	
  traffic.	
  	
  
	
  -­‐	
  It	
  is	
  not	
  easy	
  in	
  general	
  
Simple	
  Digital	
  Store	
  Model	
  
Another	
  hundred	
  tables	
  
Taming	
  the	
  beast	
  
Hypothesizes	
  
•  For	
  us	
  most	
  load	
  will	
  come	
  from	
  user-­‐
centric	
  acEviEes	
  
•  So,	
  we	
  will	
  mostly	
  query	
  within	
  a	
  user’s	
  
dataset	
  
•  Which	
  means	
  we	
  will	
  not	
  need	
  to	
  join	
  
across	
  users	
  o>en	
  
So	
  we	
  can	
  denormalize	
  
Purchased	
  
So,	
  we	
  came	
  up	
  with	
  The	
  Schema	
  
Account1	
   Json	
  1	
   Json	
  2	
   ….	
   Json	
  n	
  
Now	
  it	
  horizontally	
  scales	
  as	
  long	
  as	
  NoSQL	
  scales	
  
We	
  can	
  even	
  have	
  some	
  rudimentary	
  transac'ons	
  
Read	
  is	
  very	
  fast	
  –	
  no	
  joins	
  
Now	
  we	
  need	
  to	
  propagate	
  user	
  purchases	
  
And	
  updates	
  to	
  any	
  shared	
  data	
  (names,	
  	
  
descripEon)	
  from	
  RelaEonal	
  DB	
  and	
  other	
  	
  
sources	
  to	
  C*	
  	
  
And	
  figure	
  out	
  how	
  to	
  support	
  flexible	
  queries	
  
Going	
  deeper	
  
•  What	
  client	
  wants:	
  
– Search,	
  sort,	
  filter	
  
•  What	
  can	
  we	
  do:	
  
– Use	
  some	
  kind	
  of	
  NoSql	
  secondary	
  Index	
  
(Cassandra,	
  Couchbase,	
  …)	
  powered	
  by	
  magic	
  
– Fetch	
  everything	
  in	
  memory	
  and	
  process	
  L	
  
– How	
  about…	
  
Solr?	
  
•  Can	
  we	
  use	
  it	
  to	
  support	
  our	
  flexible	
  user	
  level	
  query	
  
requirement?	
  
•  Not	
  really:	
  
–  Data	
  has	
  both	
  high	
  and	
  low	
  cardinality	
  properEes	
  
–  We	
  will	
  need	
  to	
  somehow	
  index	
  relaEons	
  between	
  
products,	
  enEtlements	
  and	
  users.	
  And	
  it	
  is	
  not	
  obvious.	
  	
  
–  And	
  it	
  will	
  not	
  be	
  very	
  fast	
  because	
  Solr	
  is	
  opEmized	
  for	
  a	
  
completely	
  different	
  use	
  case	
  
–  It	
  will	
  be	
  another	
  set	
  of	
  systems	
  to	
  support	
  and	
  scale	
  
What	
  can	
  We	
  Do?	
  
•  We	
  can	
  index	
  ourselves,	
  and	
  wri'ng	
  indexer	
  
sounds	
  like	
  a	
  lot	
  of	
  fun	
  
•  Wait,	
  someone	
  already	
  had	
  the	
  fun	
  and	
  made:	
  
Account1	
   Json	
  1	
   Json	
  2	
   ….	
   Json	
  n	
  
Schema	
  v2	
  
Account1	
   Json	
  1	
   Json	
  n	
   Version	
  
Now	
  We	
  can	
  Search	
  on	
  anything	
  inside	
  the	
  row	
  that	
  represents	
  the	
  user	
  
Index	
  is	
  small	
  and	
  it	
  is	
  fast	
  to	
  pull	
  it	
  from	
  NoSql	
  
But	
  we	
  will	
  be	
  pulling	
  all	
  this	
  bytes	
  (indexes)	
  all	
  	
  
the	
  'me	
  (stateless	
  design)	
  
And	
  what	
  if	
  2	
  servers	
  write	
  to	
  the	
  same	
  row?	
  
Distributed	
  Cache?	
  
•  It	
  is	
  nice	
  to	
  keep	
  things	
  as	
  close	
  to	
  our	
  Microservice	
  as	
  
possible	
  
•  In	
  something	
  that	
  can	
  do	
  fast	
  reads	
  
•  And	
  we	
  have	
  a	
  lot	
  of	
  RAM	
  these	
  days	
  
•  So	
  we	
  can	
  have	
  a	
  beefy	
  Memcached/Redis/Aerospike/[Put	
  
your	
  preferred	
  Cache]	
  deployment	
  
•  And	
  SEll	
  pay	
  Network	
  penalty	
  and	
  think	
  about	
  scaling	
  them	
  
•  What	
  if	
  
So>	
  State	
  Paiern	
  
•  Cache	
  lives	
  inside	
  the	
  MicroService,	
  so	
  no	
  network	
  penalty	
  
•  There	
  are	
  very	
  good	
  libraries	
  for	
  ojeap	
  caching	
  (We	
  use	
  Ehcache)	
  out	
  
there,	
  so	
  no	
  GC	
  
•  Requests	
  for	
  the	
  same	
  user	
  are	
  processed	
  on	
  the	
  same	
  instance,	
  so	
  we	
  
can	
  save	
  network	
  roundtrip	
  and	
  	
  also	
  have	
  some	
  op'miza'ons	
  done	
  
(read/write	
  lock,	
  etc)	
  
•  Changes	
  to	
  State	
  also	
  are	
  replicated	
  to	
  the	
  storage	
  (C*)	
  and	
  are	
  idenEfied	
  
with	
  some	
  version	
  number	
  
•  We	
  will	
  need	
  to	
  check	
  index	
  version	
  before	
  doing	
  search	
  
•  If	
  instance	
  goes	
  down,	
  user	
  session	
  is	
  moved	
  to	
  another	
  instance	
  
automa'cally	
  
•  It	
  is	
  much	
  easier	
  to	
  scale	
  up	
  Microservices	
  than	
  DB	
  
Or	
  in	
  Other	
  Words	
  
Account	
  1	
  
Version	
  
Account	
  2	
  
Version	
  
Account	
  3	
  
Version	
  
Account	
  4	
  
Version	
  
Account	
  5	
  
Version	
  
Account	
  6	
  
Version	
  
Account1	
   jsons	
   Version	
  
	
  
Account2	
   jsons	
  
	
  
Version	
  
	
  
Account3	
   jsons	
  
	
  
Version	
  
	
  
Account4	
   jsons	
  
	
  
Version	
  
	
  
Account5	
   jsons	
  
	
  
Version	
  
	
  
….	
   …	
   …	
   …	
  
Account	
  n	
   jsons	
  
	
  
Version	
  
	
  
Instance	
  1	
  
Instance	
  2	
  
Instance	
  3	
  
NoSql	
  
At	
  first	
  simple	
  changes	
  to	
  Lucene	
  
RAMFile	
  
	
  
RAMDirectory	
  
implements	
  Serializable	
  
WritableRAMFile	
  
	
  
WritableRAMDirectory	
  
	
  
WritableRAMInputStream	
  
	
  
WritableRAMOutputStream	
  
How	
  can	
  you	
  do	
  rouEng?	
  
•  We	
  are	
  on	
  AWS	
  so	
  we	
  just	
  used	
  ELB	
  s'ckiness	
  with	
  a	
  
twist	
  
•  It	
  works	
  only	
  with	
  cookies	
  so,	
  you	
  will	
  need	
  to	
  
somehow	
  store	
  them	
  
•  Client	
  library	
  is	
  smart	
  and	
  writes	
  accountId-­‐
>AWSSEckyCookie	
  to	
  a	
  shared	
  cache	
  
•  Before	
  sending	
  request	
  through	
  ELB	
  we	
  pull	
  s'cky	
  
cookie	
  from	
  the	
  shared	
  cache	
  and	
  a^ach	
  it	
  to	
  the	
  
request	
  
But	
  what	
  if	
  cross	
  user	
  data	
  changes?	
  
•  Product	
  was	
  renamed	
  
•  Game	
  image	
  just	
  got	
  updated	
  
•  And	
  so	
  on…	
  
RelaEvity	
  to	
  the	
  rescue	
  
Cross	
  User	
  Data	
  sync	
  
•  So,	
  as	
  simply	
  as:	
  	
  
– Reverse	
  lookup	
  table	
  to	
  find	
  all	
  affected	
  users	
  
– When	
  something	
  changes	
  find	
  all	
  the	
  affected	
  
users	
  
– And	
  lazily	
  reindex	
  
How	
  About	
  Stats?	
  
•  Tens	
  of	
  billions	
  of	
  documents	
  
•  Average	
  API	
  latency	
  is	
  below	
  10ms	
  
•  Actual	
  search	
  latency	
  is	
  in	
  microseconds	
  
•  Hundreds	
  thousands	
  of	
  documents	
  are	
  indexed	
  
per	
  second	
  
•  And	
  most	
  importantly:	
  
–  No	
  major	
  incidents	
  in	
  producEon.	
  
Let’s	
  talk	
  about	
  1M	
  doc/sec	
  
Friend	
  Finder	
  
New	
  Feature/new	
  Journey	
  
•  We	
  want	
  users	
  to	
  be	
  able	
  to	
  find	
  other	
  users	
  on	
  the	
  plarorm	
  
•  We	
  should	
  respect	
  privacy	
  sesngs	
  
•  We	
  want	
  to	
  recommend	
  new	
  friends	
  to	
  users	
  (You	
  May	
  Know)	
  
•  When	
  user	
  searches	
  we	
  want	
  to	
  display	
  result	
  in	
  the	
  following	
  
order:	
  
–  Direct	
  friends	
  
–  Friends	
  of	
  Friends	
  0_o	
  
–  Everyone	
  else	
  	
  	
  
•  Do	
  it	
  fast	
  with	
  a	
  small	
  team	
  of	
  ninjas	
  (small	
  means	
  2	
  engs)	
  
So,	
  we	
  figured	
  out	
  
•  We	
  can	
  use	
  Solr	
  to	
  index	
  everyone,	
  so	
  we	
  can	
  do	
  pla`orm	
  wide	
  
search	
  
•  And	
  decided	
  to	
  reuse	
  same	
  idea	
  we	
  did	
  for	
  Store	
  with	
  personal	
  
indexes,	
  so	
  we	
  can:	
  
–  Sort	
  by	
  distance	
  (direct,	
  friend	
  of	
  a	
  friend)	
  
–  Sort	
  by	
  other	
  user	
  related	
  fields	
  (who	
  do	
  I	
  play	
  with	
  o>en,	
  Facebook	
  
friends,	
  and	
  so	
  on)	
  
–  You	
  may	
  know	
  is	
  another	
  search:	
  Give	
  me	
  10	
  friend	
  of	
  friends	
  sorted	
  
by	
  number	
  of	
  common	
  friends	
  
•  It	
  required	
  some	
  kind	
  of	
  no'fica'ons	
  system	
  in	
  place	
  so	
  
personalized	
  indexes	
  can	
  be	
  rebuilt	
  when	
  something	
  related	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  
to	
  a	
  parEcular	
  user	
  changes	
  
Let’s	
  put	
  some	
  boxes	
  
Solr	
  Cloud	
  
Social	
  
Network	
  
Friends	
  
Finder	
  
Cassandra	
  
Queue	
  
Personalized	
  
Search	
  
Microservice	
  
Indexer	
  
Change	
   Change	
  
New	
  user	
  
Privacy	
  update	
  
etc	
  
Friendship	
  changed	
  
Name	
  change	
  
etc	
  
How	
  did	
  it	
  do?	
  
•  Solr	
  was	
  fine	
  
•  Personalized	
  part	
  not	
  so	
  fine	
  
•  Each	
  change	
  in	
  friendship	
  required	
  reindexing	
  of	
  a	
  lot	
  of	
  
users	
  
•  Same	
  goes	
  for	
  privacy	
  changes	
  
•  NoSQL	
  we	
  use	
  (Cassandra)	
  uses	
  SSTables,	
  so	
  space	
  it	
  not	
  
released	
  right	
  a>er	
  an	
  update	
  
•  Data	
  size	
  was	
  growing	
  much	
  faster	
  than	
  we	
  expected	
  
•  So,	
  we	
  had	
  to	
  take	
  ac'on	
  
Here	
  we	
  again	
  
Taming	
  another	
  beast	
  
Some	
  insights	
  
•  You	
  May	
  Know	
  was	
  producing	
  a	
  significant	
  
load	
  
•  Both	
  on	
  update	
  indexing	
  and	
  lazy	
  indexing	
  
(only	
  when	
  user	
  goes	
  to	
  search	
  or	
  checks	
  
You	
  May	
  Know)	
  didn’t	
  help	
  
•  Users	
  don’t	
  search	
  frequently,	
  but	
  when	
  
they	
  do	
  they	
  spend	
  some	
  'me	
  doing	
  it	
  
AcEons	
  
•  Cache	
  You	
  May	
  Know	
  
•  Learn	
  that	
  it	
  doesn’t	
  help	
  
•  Back	
  to	
  the	
  drawing	
  board	
  
Crazy	
  idea	
  
•  What	
  if	
  we	
  do	
  ephemeral	
  indexes?	
  
•  They	
  can	
  live	
  in	
  memory	
  for	
  the	
  dura'on	
  of	
  
user’s	
  search	
  session	
  and	
  then	
  get	
  discarded	
  
•  We	
  can	
  use	
  the	
  same	
  code,	
  we	
  just	
  need	
  to	
  
slightly	
  change	
  it	
  
More	
  boxes	
  
Solr	
  Cloud	
  
Social	
  
Network	
  
Friends	
  
Finder	
  
Queue	
  
Personalized	
  
Search	
  
Microservice	
  
Indexer	
  
Change	
  
New	
  user	
  
Privacy	
  update	
  
etc	
  
Get	
  Friends	
   Friendship	
  	
  
Change,	
  etc	
  
Is	
  it	
  fixed	
  yet?	
  
•  Not	
  really	
  
•  Now	
  we	
  need	
  to	
  make	
  indexing	
  really	
  fast	
  
•  And	
  significant	
  'me	
  and	
  resources	
  are	
  spent	
  
on	
  pulling	
  user	
  related	
  data	
  from	
  Social	
  
network	
  
•  Wait,	
  we’ve	
  just	
  talked	
  about	
  Sod	
  State.	
  What	
  
if?	
  
Let’s	
  do	
  math	
  
•  Number	
  of	
  users:	
  hundreds	
  of	
  millions,	
  but	
  
number	
  of	
  ac've	
  is	
  less	
  
•  Each	
  user	
  has	
  some	
  searchable	
  metadata;	
  let’s	
  
say	
  it	
  is	
  200	
  bytes	
  
•  How	
  much	
  memory	
  will	
  we	
  need	
  to	
  cache	
  all	
  the	
  
acEve	
  ones?	
  	
  
•  100000000	
  *	
  200/	
  (1024	
  *	
  1024*	
  1024)	
  =	
  18Gb	
  
•  Well,	
  it	
  looks	
  like	
  it	
  is	
  doable	
  
We	
  can	
  organize	
  it	
  like	
  
App	
  Memory	
  
Java	
  Heap	
  
(8Gb)	
  
Off	
  Heap	
  Ehcache	
  (40	
  Gb)	
  
Accounts	
  info	
  (20Gb)	
   Lucene	
  indexes	
  (20Gb)	
  
SSD	
  if	
  we	
  need	
  to	
  spill	
  over	
  
Will	
  it	
  work?	
  
•  On	
  AWS	
  we	
  can	
  have	
  up	
  to	
  256Gb	
  of	
  ram	
  (r3.8xlarge)	
  
and	
  instances	
  have	
  SSDs	
  which	
  usually	
  do	
  nothing	
  
•  Actually,	
  with	
  new	
  X1	
  family	
  we	
  can	
  have	
  up	
  to	
  1.9	
  TB	
  
•  The	
  only	
  catch,	
  now	
  we	
  need	
  to	
  propagate	
  changes	
  
that	
  go	
  to	
  Solr	
  to	
  Search	
  microservice	
  so	
  we	
  don’t	
  use	
  
stale	
  metadata	
  
•  So,	
  it	
  sounds	
  like	
  it	
  can	
  work	
  
Yes	
  
Learnings	
  
•  You	
  can	
  do	
  wonders	
  when	
  you	
  are	
  desperate	
  	
  
•  Worked	
  before	
  doesn't	
  mean	
  that	
  it	
  is	
  going	
  to	
  
work	
  now	
  
•  Lucene	
  is	
  extremely	
  fast	
  when	
  index	
  is	
  small	
  
•  And	
  can	
  be	
  applied	
  to	
  use	
  cases	
  that	
  don’t	
  look	
  
like	
  search	
  
•  You	
  can’t	
  beat	
  RAM	
  	
  
PlaySta'on	
  is	
  hiring	
  in	
  SF:	
  
Find	
  me	
  at	
  hackitects.com	
  

Contenu connexe

Tendances

Rackspace: Email's Solution for Indexing 50K Documents per Second: Presented ...
Rackspace: Email's Solution for Indexing 50K Documents per Second: Presented ...Rackspace: Email's Solution for Indexing 50K Documents per Second: Presented ...
Rackspace: Email's Solution for Indexing 50K Documents per Second: Presented ...Lucidworks
 
Mail Search As A Sercive: Presented by Rishi Easwaran, Aol
Mail Search As A Sercive: Presented by Rishi Easwaran, AolMail Search As A Sercive: Presented by Rishi Easwaran, Aol
Mail Search As A Sercive: Presented by Rishi Easwaran, AolLucidworks
 
Streaming Analytics with Spark, Kafka, Cassandra and Akka by Helena Edelson
Streaming Analytics with Spark, Kafka, Cassandra and Akka by Helena EdelsonStreaming Analytics with Spark, Kafka, Cassandra and Akka by Helena Edelson
Streaming Analytics with Spark, Kafka, Cassandra and Akka by Helena EdelsonSpark Summit
 
Real Time Indexing and Search - Ashwani Kapoor & Girish Gudla, Trulia
Real Time Indexing and Search - Ashwani Kapoor & Girish Gudla, TruliaReal Time Indexing and Search - Ashwani Kapoor & Girish Gudla, Trulia
Real Time Indexing and Search - Ashwani Kapoor & Girish Gudla, TruliaLucidworks
 
Never Stop Exploring - Pushing the Limits of Solr: Presented by Anirudha Jadh...
Never Stop Exploring - Pushing the Limits of Solr: Presented by Anirudha Jadh...Never Stop Exploring - Pushing the Limits of Solr: Presented by Anirudha Jadh...
Never Stop Exploring - Pushing the Limits of Solr: Presented by Anirudha Jadh...Lucidworks
 
Ubiquitous Solr - A Database's Not-So-Evil Twin: Presented by Ayon Sinha, Wal...
Ubiquitous Solr - A Database's Not-So-Evil Twin: Presented by Ayon Sinha, Wal...Ubiquitous Solr - A Database's Not-So-Evil Twin: Presented by Ayon Sinha, Wal...
Ubiquitous Solr - A Database's Not-So-Evil Twin: Presented by Ayon Sinha, Wal...Lucidworks
 
Simple Fuzzy Name Matching in Solr: Presented by Chris Mack, Basis Technology
Simple Fuzzy Name Matching in Solr: Presented by Chris Mack, Basis TechnologySimple Fuzzy Name Matching in Solr: Presented by Chris Mack, Basis Technology
Simple Fuzzy Name Matching in Solr: Presented by Chris Mack, Basis TechnologyLucidworks
 
Денис Резник "Моя база данных не справляется с нагрузкой. Что делать?"
Денис Резник "Моя база данных не справляется с нагрузкой. Что делать?"Денис Резник "Моя база данных не справляется с нагрузкой. Что делать?"
Денис Резник "Моя база данных не справляется с нагрузкой. Что делать?"Fwdays
 
Cold Storage That Isn't Glacial (Joshua Hollander, Protectwise) | Cassandra S...
Cold Storage That Isn't Glacial (Joshua Hollander, Protectwise) | Cassandra S...Cold Storage That Isn't Glacial (Joshua Hollander, Protectwise) | Cassandra S...
Cold Storage That Isn't Glacial (Joshua Hollander, Protectwise) | Cassandra S...DataStax
 
Cross Data Center Replication for the Enterprise: Presented by Adam Williams,...
Cross Data Center Replication for the Enterprise: Presented by Adam Williams,...Cross Data Center Replication for the Enterprise: Presented by Adam Williams,...
Cross Data Center Replication for the Enterprise: Presented by Adam Williams,...Lucidworks
 
Gs08 modernize your data platform with sql technologies wash dc
Gs08 modernize your data platform with sql technologies   wash dcGs08 modernize your data platform with sql technologies   wash dc
Gs08 modernize your data platform with sql technologies wash dcBob Ward
 
Streaming Aggregation in Solr - New Horizons for Search: Presented by Erick E...
Streaming Aggregation in Solr - New Horizons for Search: Presented by Erick E...Streaming Aggregation in Solr - New Horizons for Search: Presented by Erick E...
Streaming Aggregation in Solr - New Horizons for Search: Presented by Erick E...Lucidworks
 
Real time analytics using Hadoop and Elasticsearch
Real time analytics using Hadoop and ElasticsearchReal time analytics using Hadoop and Elasticsearch
Real time analytics using Hadoop and ElasticsearchAbhishek Andhavarapu
 
Securing Spark Applications by Kostas Sakellis and Marcelo Vanzin
Securing Spark Applications by Kostas Sakellis and Marcelo VanzinSecuring Spark Applications by Kostas Sakellis and Marcelo Vanzin
Securing Spark Applications by Kostas Sakellis and Marcelo VanzinSpark Summit
 
Get involved with the Apache Software Foundation
Get involved with the Apache Software FoundationGet involved with the Apache Software Foundation
Get involved with the Apache Software FoundationShalin Shekhar Mangar
 
Cassandra @ Sony: The good, the bad, and the ugly part 1
Cassandra @ Sony: The good, the bad, and the ugly part 1Cassandra @ Sony: The good, the bad, and the ugly part 1
Cassandra @ Sony: The good, the bad, and the ugly part 1DataStax Academy
 
Taking Splunk to the Next Level - Architecture Breakout Session
Taking Splunk to the Next Level - Architecture Breakout SessionTaking Splunk to the Next Level - Architecture Breakout Session
Taking Splunk to the Next Level - Architecture Breakout SessionSplunk
 
Elasticsearch in Netflix
Elasticsearch in NetflixElasticsearch in Netflix
Elasticsearch in NetflixDanny Yuan
 
Taking Splunk to the Next Level - Architecture Breakout Session
Taking Splunk to the Next Level - Architecture Breakout SessionTaking Splunk to the Next Level - Architecture Breakout Session
Taking Splunk to the Next Level - Architecture Breakout SessionSplunk
 

Tendances (20)

Rackspace: Email's Solution for Indexing 50K Documents per Second: Presented ...
Rackspace: Email's Solution for Indexing 50K Documents per Second: Presented ...Rackspace: Email's Solution for Indexing 50K Documents per Second: Presented ...
Rackspace: Email's Solution for Indexing 50K Documents per Second: Presented ...
 
Mail Search As A Sercive: Presented by Rishi Easwaran, Aol
Mail Search As A Sercive: Presented by Rishi Easwaran, AolMail Search As A Sercive: Presented by Rishi Easwaran, Aol
Mail Search As A Sercive: Presented by Rishi Easwaran, Aol
 
Streaming Analytics with Spark, Kafka, Cassandra and Akka by Helena Edelson
Streaming Analytics with Spark, Kafka, Cassandra and Akka by Helena EdelsonStreaming Analytics with Spark, Kafka, Cassandra and Akka by Helena Edelson
Streaming Analytics with Spark, Kafka, Cassandra and Akka by Helena Edelson
 
Real Time Indexing and Search - Ashwani Kapoor & Girish Gudla, Trulia
Real Time Indexing and Search - Ashwani Kapoor & Girish Gudla, TruliaReal Time Indexing and Search - Ashwani Kapoor & Girish Gudla, Trulia
Real Time Indexing and Search - Ashwani Kapoor & Girish Gudla, Trulia
 
Never Stop Exploring - Pushing the Limits of Solr: Presented by Anirudha Jadh...
Never Stop Exploring - Pushing the Limits of Solr: Presented by Anirudha Jadh...Never Stop Exploring - Pushing the Limits of Solr: Presented by Anirudha Jadh...
Never Stop Exploring - Pushing the Limits of Solr: Presented by Anirudha Jadh...
 
Ubiquitous Solr - A Database's Not-So-Evil Twin: Presented by Ayon Sinha, Wal...
Ubiquitous Solr - A Database's Not-So-Evil Twin: Presented by Ayon Sinha, Wal...Ubiquitous Solr - A Database's Not-So-Evil Twin: Presented by Ayon Sinha, Wal...
Ubiquitous Solr - A Database's Not-So-Evil Twin: Presented by Ayon Sinha, Wal...
 
Simple Fuzzy Name Matching in Solr: Presented by Chris Mack, Basis Technology
Simple Fuzzy Name Matching in Solr: Presented by Chris Mack, Basis TechnologySimple Fuzzy Name Matching in Solr: Presented by Chris Mack, Basis Technology
Simple Fuzzy Name Matching in Solr: Presented by Chris Mack, Basis Technology
 
Денис Резник "Моя база данных не справляется с нагрузкой. Что делать?"
Денис Резник "Моя база данных не справляется с нагрузкой. Что делать?"Денис Резник "Моя база данных не справляется с нагрузкой. Что делать?"
Денис Резник "Моя база данных не справляется с нагрузкой. Что делать?"
 
Cold Storage That Isn't Glacial (Joshua Hollander, Protectwise) | Cassandra S...
Cold Storage That Isn't Glacial (Joshua Hollander, Protectwise) | Cassandra S...Cold Storage That Isn't Glacial (Joshua Hollander, Protectwise) | Cassandra S...
Cold Storage That Isn't Glacial (Joshua Hollander, Protectwise) | Cassandra S...
 
Cross Data Center Replication for the Enterprise: Presented by Adam Williams,...
Cross Data Center Replication for the Enterprise: Presented by Adam Williams,...Cross Data Center Replication for the Enterprise: Presented by Adam Williams,...
Cross Data Center Replication for the Enterprise: Presented by Adam Williams,...
 
Gs08 modernize your data platform with sql technologies wash dc
Gs08 modernize your data platform with sql technologies   wash dcGs08 modernize your data platform with sql technologies   wash dc
Gs08 modernize your data platform with sql technologies wash dc
 
Streaming Aggregation in Solr - New Horizons for Search: Presented by Erick E...
Streaming Aggregation in Solr - New Horizons for Search: Presented by Erick E...Streaming Aggregation in Solr - New Horizons for Search: Presented by Erick E...
Streaming Aggregation in Solr - New Horizons for Search: Presented by Erick E...
 
Real time analytics using Hadoop and Elasticsearch
Real time analytics using Hadoop and ElasticsearchReal time analytics using Hadoop and Elasticsearch
Real time analytics using Hadoop and Elasticsearch
 
Securing Spark Applications by Kostas Sakellis and Marcelo Vanzin
Securing Spark Applications by Kostas Sakellis and Marcelo VanzinSecuring Spark Applications by Kostas Sakellis and Marcelo Vanzin
Securing Spark Applications by Kostas Sakellis and Marcelo Vanzin
 
Get involved with the Apache Software Foundation
Get involved with the Apache Software FoundationGet involved with the Apache Software Foundation
Get involved with the Apache Software Foundation
 
Elastic{ON} 2017 Recap
Elastic{ON} 2017 RecapElastic{ON} 2017 Recap
Elastic{ON} 2017 Recap
 
Cassandra @ Sony: The good, the bad, and the ugly part 1
Cassandra @ Sony: The good, the bad, and the ugly part 1Cassandra @ Sony: The good, the bad, and the ugly part 1
Cassandra @ Sony: The good, the bad, and the ugly part 1
 
Taking Splunk to the Next Level - Architecture Breakout Session
Taking Splunk to the Next Level - Architecture Breakout SessionTaking Splunk to the Next Level - Architecture Breakout Session
Taking Splunk to the Next Level - Architecture Breakout Session
 
Elasticsearch in Netflix
Elasticsearch in NetflixElasticsearch in Netflix
Elasticsearch in Netflix
 
Taking Splunk to the Next Level - Architecture Breakout Session
Taking Splunk to the Next Level - Architecture Breakout SessionTaking Splunk to the Next Level - Architecture Breakout Session
Taking Splunk to the Next Level - Architecture Breakout Session
 

En vedette

Queue Based Solr Indexing with Collection Management: Presented by Devansh Dh...
Queue Based Solr Indexing with Collection Management: Presented by Devansh Dh...Queue Based Solr Indexing with Collection Management: Presented by Devansh Dh...
Queue Based Solr Indexing with Collection Management: Presented by Devansh Dh...Lucidworks
 
Events Processing and Data Analysis with Lucidworks Fusion: Presented by Kira...
Events Processing and Data Analysis with Lucidworks Fusion: Presented by Kira...Events Processing and Data Analysis with Lucidworks Fusion: Presented by Kira...
Events Processing and Data Analysis with Lucidworks Fusion: Presented by Kira...Lucidworks
 
Large Scale Log Analytics with Solr: Presented by Rafał Kuć & Radu Gheorghe, ...
Large Scale Log Analytics with Solr: Presented by Rafał Kuć & Radu Gheorghe, ...Large Scale Log Analytics with Solr: Presented by Rafał Kuć & Radu Gheorghe, ...
Large Scale Log Analytics with Solr: Presented by Rafał Kuć & Radu Gheorghe, ...Lucidworks
 
Understanding the Solr Security Framekwork: Presented by Anshum Gupta, IBM
Understanding the Solr Security Framekwork: Presented by Anshum Gupta, IBMUnderstanding the Solr Security Framekwork: Presented by Anshum Gupta, IBM
Understanding the Solr Security Framekwork: Presented by Anshum Gupta, IBMLucidworks
 
Build a Great Application in Minutes!: Presented by Stefan Olafsson, Twigkit
Build a Great Application in Minutes!: Presented by Stefan Olafsson, TwigkitBuild a Great Application in Minutes!: Presented by Stefan Olafsson, Twigkit
Build a Great Application in Minutes!: Presented by Stefan Olafsson, TwigkitLucidworks
 
State of Solr Security 2016: Presented by Ishan Chattopadhyaya, Lucidworks
State of Solr Security 2016: Presented by Ishan Chattopadhyaya, LucidworksState of Solr Security 2016: Presented by Ishan Chattopadhyaya, Lucidworks
State of Solr Security 2016: Presented by Ishan Chattopadhyaya, LucidworksLucidworks
 
Where Search Meets Machine Learning: Presented by Diana Hu & Joaquin Delgado,...
Where Search Meets Machine Learning: Presented by Diana Hu & Joaquin Delgado,...Where Search Meets Machine Learning: Presented by Diana Hu & Joaquin Delgado,...
Where Search Meets Machine Learning: Presented by Diana Hu & Joaquin Delgado,...Lucidworks
 
Loading 350M documents into a large Solr cluster: Presented by Dion Olsthoorn...
Loading 350M documents into a large Solr cluster: Presented by Dion Olsthoorn...Loading 350M documents into a large Solr cluster: Presented by Dion Olsthoorn...
Loading 350M documents into a large Solr cluster: Presented by Dion Olsthoorn...Lucidworks
 
Webinar: Site Search in an Hour with Fusion
Webinar: Site Search in an Hour with FusionWebinar: Site Search in an Hour with Fusion
Webinar: Site Search in an Hour with FusionLucidworks
 
A How-to Guide to OAuth & API Security
A How-to Guide to OAuth & API SecurityA How-to Guide to OAuth & API Security
A How-to Guide to OAuth & API SecurityCA API Management
 
Solr Highlighting at Full Speed: Presented by Timothy Rodriguez, Bloomberg & ...
Solr Highlighting at Full Speed: Presented by Timothy Rodriguez, Bloomberg & ...Solr Highlighting at Full Speed: Presented by Timothy Rodriguez, Bloomberg & ...
Solr Highlighting at Full Speed: Presented by Timothy Rodriguez, Bloomberg & ...Lucidworks
 
Building and Running Solr-as-a-Service: Presented by Shai Erera, IBM
Building and Running Solr-as-a-Service: Presented by Shai Erera, IBMBuilding and Running Solr-as-a-Service: Presented by Shai Erera, IBM
Building and Running Solr-as-a-Service: Presented by Shai Erera, IBMLucidworks
 
Rebuilding Solr 6 Examples - Layer by Layer: Presented by Alexandre Rafalovit...
Rebuilding Solr 6 Examples - Layer by Layer: Presented by Alexandre Rafalovit...Rebuilding Solr 6 Examples - Layer by Layer: Presented by Alexandre Rafalovit...
Rebuilding Solr 6 Examples - Layer by Layer: Presented by Alexandre Rafalovit...Lucidworks
 
Hard rock global strategy
Hard rock global strategyHard rock global strategy
Hard rock global strategyDiahyani Putri
 
Building a Real-Time News Search Engine: Presented by Ramkumar Aiyengar, Bloo...
Building a Real-Time News Search Engine: Presented by Ramkumar Aiyengar, Bloo...Building a Real-Time News Search Engine: Presented by Ramkumar Aiyengar, Bloo...
Building a Real-Time News Search Engine: Presented by Ramkumar Aiyengar, Bloo...Lucidworks
 
Near Real Time Indexing Kafka Messages into Apache Blur: Presented by Dibyend...
Near Real Time Indexing Kafka Messages into Apache Blur: Presented by Dibyend...Near Real Time Indexing Kafka Messages into Apache Blur: Presented by Dibyend...
Near Real Time Indexing Kafka Messages into Apache Blur: Presented by Dibyend...Lucidworks
 
Webinar: Solr 6 Deep Dive - SQL and Graph
Webinar: Solr 6 Deep Dive - SQL and GraphWebinar: Solr 6 Deep Dive - SQL and Graph
Webinar: Solr 6 Deep Dive - SQL and GraphLucidworks
 
Understand the Breadth and Depth of Solr via the Admin UI: Presented by Upaya...
Understand the Breadth and Depth of Solr via the Admin UI: Presented by Upaya...Understand the Breadth and Depth of Solr via the Admin UI: Presented by Upaya...
Understand the Breadth and Depth of Solr via the Admin UI: Presented by Upaya...Lucidworks
 

En vedette (20)

Queue Based Solr Indexing with Collection Management: Presented by Devansh Dh...
Queue Based Solr Indexing with Collection Management: Presented by Devansh Dh...Queue Based Solr Indexing with Collection Management: Presented by Devansh Dh...
Queue Based Solr Indexing with Collection Management: Presented by Devansh Dh...
 
Events Processing and Data Analysis with Lucidworks Fusion: Presented by Kira...
Events Processing and Data Analysis with Lucidworks Fusion: Presented by Kira...Events Processing and Data Analysis with Lucidworks Fusion: Presented by Kira...
Events Processing and Data Analysis with Lucidworks Fusion: Presented by Kira...
 
Large Scale Log Analytics with Solr: Presented by Rafał Kuć & Radu Gheorghe, ...
Large Scale Log Analytics with Solr: Presented by Rafał Kuć & Radu Gheorghe, ...Large Scale Log Analytics with Solr: Presented by Rafał Kuć & Radu Gheorghe, ...
Large Scale Log Analytics with Solr: Presented by Rafał Kuć & Radu Gheorghe, ...
 
Understanding the Solr Security Framekwork: Presented by Anshum Gupta, IBM
Understanding the Solr Security Framekwork: Presented by Anshum Gupta, IBMUnderstanding the Solr Security Framekwork: Presented by Anshum Gupta, IBM
Understanding the Solr Security Framekwork: Presented by Anshum Gupta, IBM
 
Build a Great Application in Minutes!: Presented by Stefan Olafsson, Twigkit
Build a Great Application in Minutes!: Presented by Stefan Olafsson, TwigkitBuild a Great Application in Minutes!: Presented by Stefan Olafsson, Twigkit
Build a Great Application in Minutes!: Presented by Stefan Olafsson, Twigkit
 
State of Solr Security 2016: Presented by Ishan Chattopadhyaya, Lucidworks
State of Solr Security 2016: Presented by Ishan Chattopadhyaya, LucidworksState of Solr Security 2016: Presented by Ishan Chattopadhyaya, Lucidworks
State of Solr Security 2016: Presented by Ishan Chattopadhyaya, Lucidworks
 
Where Search Meets Machine Learning: Presented by Diana Hu & Joaquin Delgado,...
Where Search Meets Machine Learning: Presented by Diana Hu & Joaquin Delgado,...Where Search Meets Machine Learning: Presented by Diana Hu & Joaquin Delgado,...
Where Search Meets Machine Learning: Presented by Diana Hu & Joaquin Delgado,...
 
Loading 350M documents into a large Solr cluster: Presented by Dion Olsthoorn...
Loading 350M documents into a large Solr cluster: Presented by Dion Olsthoorn...Loading 350M documents into a large Solr cluster: Presented by Dion Olsthoorn...
Loading 350M documents into a large Solr cluster: Presented by Dion Olsthoorn...
 
Webinar: Site Search in an Hour with Fusion
Webinar: Site Search in an Hour with FusionWebinar: Site Search in an Hour with Fusion
Webinar: Site Search in an Hour with Fusion
 
A How-to Guide to OAuth & API Security
A How-to Guide to OAuth & API SecurityA How-to Guide to OAuth & API Security
A How-to Guide to OAuth & API Security
 
Solr Highlighting at Full Speed: Presented by Timothy Rodriguez, Bloomberg & ...
Solr Highlighting at Full Speed: Presented by Timothy Rodriguez, Bloomberg & ...Solr Highlighting at Full Speed: Presented by Timothy Rodriguez, Bloomberg & ...
Solr Highlighting at Full Speed: Presented by Timothy Rodriguez, Bloomberg & ...
 
Building and Running Solr-as-a-Service: Presented by Shai Erera, IBM
Building and Running Solr-as-a-Service: Presented by Shai Erera, IBMBuilding and Running Solr-as-a-Service: Presented by Shai Erera, IBM
Building and Running Solr-as-a-Service: Presented by Shai Erera, IBM
 
Rebuilding Solr 6 Examples - Layer by Layer: Presented by Alexandre Rafalovit...
Rebuilding Solr 6 Examples - Layer by Layer: Presented by Alexandre Rafalovit...Rebuilding Solr 6 Examples - Layer by Layer: Presented by Alexandre Rafalovit...
Rebuilding Solr 6 Examples - Layer by Layer: Presented by Alexandre Rafalovit...
 
Hard rock cafe
Hard rock cafeHard rock cafe
Hard rock cafe
 
Hard rock global strategy
Hard rock global strategyHard rock global strategy
Hard rock global strategy
 
Building a Real-Time News Search Engine: Presented by Ramkumar Aiyengar, Bloo...
Building a Real-Time News Search Engine: Presented by Ramkumar Aiyengar, Bloo...Building a Real-Time News Search Engine: Presented by Ramkumar Aiyengar, Bloo...
Building a Real-Time News Search Engine: Presented by Ramkumar Aiyengar, Bloo...
 
Near Real Time Indexing Kafka Messages into Apache Blur: Presented by Dibyend...
Near Real Time Indexing Kafka Messages into Apache Blur: Presented by Dibyend...Near Real Time Indexing Kafka Messages into Apache Blur: Presented by Dibyend...
Near Real Time Indexing Kafka Messages into Apache Blur: Presented by Dibyend...
 
Webinar: Solr 6 Deep Dive - SQL and Graph
Webinar: Solr 6 Deep Dive - SQL and GraphWebinar: Solr 6 Deep Dive - SQL and Graph
Webinar: Solr 6 Deep Dive - SQL and Graph
 
Playstation 4
Playstation 4Playstation 4
Playstation 4
 
Understand the Breadth and Depth of Solr via the Admin UI: Presented by Upaya...
Understand the Breadth and Depth of Solr via the Admin UI: Presented by Upaya...Understand the Breadth and Depth of Solr via the Admin UI: Presented by Upaya...
Understand the Breadth and Depth of Solr via the Admin UI: Presented by Upaya...
 

Similaire à PlayStation and Lucene - Indexing 1M documents per second: Presented by Alexander Filipchik, Sony Interactive Entertainment

AWS re:Invent 2016| GAM302 | Sony PlayStation: Breaking the Bandwidth Barrier...
AWS re:Invent 2016| GAM302 | Sony PlayStation: Breaking the Bandwidth Barrier...AWS re:Invent 2016| GAM302 | Sony PlayStation: Breaking the Bandwidth Barrier...
AWS re:Invent 2016| GAM302 | Sony PlayStation: Breaking the Bandwidth Barrier...Amazon Web Services
 
PlayStation and Searchable Cassandra Without Solr (Dustin Pham & Alexander Fi...
PlayStation and Searchable Cassandra Without Solr (Dustin Pham & Alexander Fi...PlayStation and Searchable Cassandra Without Solr (Dustin Pham & Alexander Fi...
PlayStation and Searchable Cassandra Without Solr (Dustin Pham & Alexander Fi...DataStax
 
[2C6]Everyplay_Big_Data
[2C6]Everyplay_Big_Data[2C6]Everyplay_Big_Data
[2C6]Everyplay_Big_DataNAVER D2
 
Eric Proegler Oredev Performance Testing in New Contexts
Eric Proegler Oredev Performance Testing in New ContextsEric Proegler Oredev Performance Testing in New Contexts
Eric Proegler Oredev Performance Testing in New ContextsEric Proegler
 
Hard Coding as a design approach
Hard Coding as a design approachHard Coding as a design approach
Hard Coding as a design approachOren Eini
 
ENT309 Scaling Up to Your First 10 Million Users
ENT309 Scaling Up to Your First 10 Million UsersENT309 Scaling Up to Your First 10 Million Users
ENT309 Scaling Up to Your First 10 Million UsersAmazon Web Services
 
Chirp 2010: Scaling Twitter
Chirp 2010: Scaling TwitterChirp 2010: Scaling Twitter
Chirp 2010: Scaling TwitterJohn Adams
 
Scaling on AWS for the First 10 Million Users
Scaling on AWS for the First 10 Million UsersScaling on AWS for the First 10 Million Users
Scaling on AWS for the First 10 Million UsersAmazon Web Services
 
AWS Summit London 2014 | Scaling on AWS for the First 10 Million Users (200)
AWS Summit London 2014 | Scaling on AWS for the First 10 Million Users (200)AWS Summit London 2014 | Scaling on AWS for the First 10 Million Users (200)
AWS Summit London 2014 | Scaling on AWS for the First 10 Million Users (200)Amazon Web Services
 
Simply Business - Near Real Time Event Processing
Simply Business - Near Real Time Event ProcessingSimply Business - Near Real Time Event Processing
Simply Business - Near Real Time Event Processingidan_by
 
Why Scale Matters and How the Cloud is Really Different (at scale)
Why Scale Matters and How the Cloud is Really Different (at scale)Why Scale Matters and How the Cloud is Really Different (at scale)
Why Scale Matters and How the Cloud is Really Different (at scale)Amazon Web Services
 
ENT309 Scaling Up to Your First 10 Million Users
ENT309 Scaling Up to Your First 10 Million UsersENT309 Scaling Up to Your First 10 Million Users
ENT309 Scaling Up to Your First 10 Million UsersAmazon Web Services
 
ENT309 Scaling Up to Your First 10 Million Users
ENT309 Scaling Up to Your First 10 Million UsersENT309 Scaling Up to Your First 10 Million Users
ENT309 Scaling Up to Your First 10 Million UsersAmazon Web Services
 
Joyent circa 2006 (Scale with Rails)
Joyent circa 2006 (Scale with Rails)Joyent circa 2006 (Scale with Rails)
Joyent circa 2006 (Scale with Rails)bcantrill
 
Intro to Joyent's Manta Object Storage Service
Intro to Joyent's Manta Object Storage ServiceIntro to Joyent's Manta Object Storage Service
Intro to Joyent's Manta Object Storage ServiceRod Boothby
 
Scaling on AWS for the First 10 Million Users
Scaling on AWS for the First 10 Million UsersScaling on AWS for the First 10 Million Users
Scaling on AWS for the First 10 Million UsersAmazon Web Services
 
Fixing twitter
Fixing twitterFixing twitter
Fixing twitterRoger Xia
 
Fixing Twitter Improving The Performance And Scalability Of The Worlds Most ...
Fixing Twitter  Improving The Performance And Scalability Of The Worlds Most ...Fixing Twitter  Improving The Performance And Scalability Of The Worlds Most ...
Fixing Twitter Improving The Performance And Scalability Of The Worlds Most ...smallerror
 
Fixing Twitter Improving The Performance And Scalability Of The Worlds Most ...
Fixing Twitter  Improving The Performance And Scalability Of The Worlds Most ...Fixing Twitter  Improving The Performance And Scalability Of The Worlds Most ...
Fixing Twitter Improving The Performance And Scalability Of The Worlds Most ...xlight
 

Similaire à PlayStation and Lucene - Indexing 1M documents per second: Presented by Alexander Filipchik, Sony Interactive Entertainment (20)

AWS re:Invent 2016| GAM302 | Sony PlayStation: Breaking the Bandwidth Barrier...
AWS re:Invent 2016| GAM302 | Sony PlayStation: Breaking the Bandwidth Barrier...AWS re:Invent 2016| GAM302 | Sony PlayStation: Breaking the Bandwidth Barrier...
AWS re:Invent 2016| GAM302 | Sony PlayStation: Breaking the Bandwidth Barrier...
 
PlayStation and Searchable Cassandra Without Solr (Dustin Pham & Alexander Fi...
PlayStation and Searchable Cassandra Without Solr (Dustin Pham & Alexander Fi...PlayStation and Searchable Cassandra Without Solr (Dustin Pham & Alexander Fi...
PlayStation and Searchable Cassandra Without Solr (Dustin Pham & Alexander Fi...
 
[2C6]Everyplay_Big_Data
[2C6]Everyplay_Big_Data[2C6]Everyplay_Big_Data
[2C6]Everyplay_Big_Data
 
Eric Proegler Oredev Performance Testing in New Contexts
Eric Proegler Oredev Performance Testing in New ContextsEric Proegler Oredev Performance Testing in New Contexts
Eric Proegler Oredev Performance Testing in New Contexts
 
Hard Coding as a design approach
Hard Coding as a design approachHard Coding as a design approach
Hard Coding as a design approach
 
ENT309 Scaling Up to Your First 10 Million Users
ENT309 Scaling Up to Your First 10 Million UsersENT309 Scaling Up to Your First 10 Million Users
ENT309 Scaling Up to Your First 10 Million Users
 
Chirp 2010: Scaling Twitter
Chirp 2010: Scaling TwitterChirp 2010: Scaling Twitter
Chirp 2010: Scaling Twitter
 
Scaling on AWS for the First 10 Million Users
Scaling on AWS for the First 10 Million UsersScaling on AWS for the First 10 Million Users
Scaling on AWS for the First 10 Million Users
 
AWS Summit London 2014 | Scaling on AWS for the First 10 Million Users (200)
AWS Summit London 2014 | Scaling on AWS for the First 10 Million Users (200)AWS Summit London 2014 | Scaling on AWS for the First 10 Million Users (200)
AWS Summit London 2014 | Scaling on AWS for the First 10 Million Users (200)
 
Simply Business - Near Real Time Event Processing
Simply Business - Near Real Time Event ProcessingSimply Business - Near Real Time Event Processing
Simply Business - Near Real Time Event Processing
 
Why Scale Matters and How the Cloud is Really Different (at scale)
Why Scale Matters and How the Cloud is Really Different (at scale)Why Scale Matters and How the Cloud is Really Different (at scale)
Why Scale Matters and How the Cloud is Really Different (at scale)
 
ENT309 Scaling Up to Your First 10 Million Users
ENT309 Scaling Up to Your First 10 Million UsersENT309 Scaling Up to Your First 10 Million Users
ENT309 Scaling Up to Your First 10 Million Users
 
ENT309 Scaling Up to Your First 10 Million Users
ENT309 Scaling Up to Your First 10 Million UsersENT309 Scaling Up to Your First 10 Million Users
ENT309 Scaling Up to Your First 10 Million Users
 
Joyent circa 2006 (Scale with Rails)
Joyent circa 2006 (Scale with Rails)Joyent circa 2006 (Scale with Rails)
Joyent circa 2006 (Scale with Rails)
 
Intro to Joyent's Manta Object Storage Service
Intro to Joyent's Manta Object Storage ServiceIntro to Joyent's Manta Object Storage Service
Intro to Joyent's Manta Object Storage Service
 
Scaling on AWS for the First 10 Million Users
Scaling on AWS for the First 10 Million UsersScaling on AWS for the First 10 Million Users
Scaling on AWS for the First 10 Million Users
 
Fixing twitter
Fixing twitterFixing twitter
Fixing twitter
 
Fixing_Twitter
Fixing_TwitterFixing_Twitter
Fixing_Twitter
 
Fixing Twitter Improving The Performance And Scalability Of The Worlds Most ...
Fixing Twitter  Improving The Performance And Scalability Of The Worlds Most ...Fixing Twitter  Improving The Performance And Scalability Of The Worlds Most ...
Fixing Twitter Improving The Performance And Scalability Of The Worlds Most ...
 
Fixing Twitter Improving The Performance And Scalability Of The Worlds Most ...
Fixing Twitter  Improving The Performance And Scalability Of The Worlds Most ...Fixing Twitter  Improving The Performance And Scalability Of The Worlds Most ...
Fixing Twitter Improving The Performance And Scalability Of The Worlds Most ...
 

Plus de Lucidworks

Search is the Tip of the Spear for Your B2B eCommerce Strategy
Search is the Tip of the Spear for Your B2B eCommerce StrategySearch is the Tip of the Spear for Your B2B eCommerce Strategy
Search is the Tip of the Spear for Your B2B eCommerce StrategyLucidworks
 
Drive Agent Effectiveness in Salesforce
Drive Agent Effectiveness in SalesforceDrive Agent Effectiveness in Salesforce
Drive Agent Effectiveness in SalesforceLucidworks
 
How Crate & Barrel Connects Shoppers with Relevant Products
How Crate & Barrel Connects Shoppers with Relevant ProductsHow Crate & Barrel Connects Shoppers with Relevant Products
How Crate & Barrel Connects Shoppers with Relevant ProductsLucidworks
 
Lucidworks & IMRG Webinar – Best-In-Class Retail Product Discovery
Lucidworks & IMRG Webinar – Best-In-Class Retail Product DiscoveryLucidworks & IMRG Webinar – Best-In-Class Retail Product Discovery
Lucidworks & IMRG Webinar – Best-In-Class Retail Product DiscoveryLucidworks
 
Connected Experiences Are Personalized Experiences
Connected Experiences Are Personalized ExperiencesConnected Experiences Are Personalized Experiences
Connected Experiences Are Personalized ExperiencesLucidworks
 
Intelligent Insight Driven Policing with MC+A, Toronto Police Service and Luc...
Intelligent Insight Driven Policing with MC+A, Toronto Police Service and Luc...Intelligent Insight Driven Policing with MC+A, Toronto Police Service and Luc...
Intelligent Insight Driven Policing with MC+A, Toronto Police Service and Luc...Lucidworks
 
[Webinar] Intelligent Policing. Leveraging Data to more effectively Serve Com...
[Webinar] Intelligent Policing. Leveraging Data to more effectively Serve Com...[Webinar] Intelligent Policing. Leveraging Data to more effectively Serve Com...
[Webinar] Intelligent Policing. Leveraging Data to more effectively Serve Com...Lucidworks
 
Preparing for Peak in Ecommerce | eTail Asia 2020
Preparing for Peak in Ecommerce | eTail Asia 2020Preparing for Peak in Ecommerce | eTail Asia 2020
Preparing for Peak in Ecommerce | eTail Asia 2020Lucidworks
 
Accelerate The Path To Purchase With Product Discovery at Retail Innovation C...
Accelerate The Path To Purchase With Product Discovery at Retail Innovation C...Accelerate The Path To Purchase With Product Discovery at Retail Innovation C...
Accelerate The Path To Purchase With Product Discovery at Retail Innovation C...Lucidworks
 
AI-Powered Linguistics and Search with Fusion and Rosette
AI-Powered Linguistics and Search with Fusion and RosetteAI-Powered Linguistics and Search with Fusion and Rosette
AI-Powered Linguistics and Search with Fusion and RosetteLucidworks
 
The Service Industry After COVID-19: The Soul of Service in a Virtual Moment
The Service Industry After COVID-19: The Soul of Service in a Virtual MomentThe Service Industry After COVID-19: The Soul of Service in a Virtual Moment
The Service Industry After COVID-19: The Soul of Service in a Virtual MomentLucidworks
 
Webinar: Smart answers for employee and customer support after covid 19 - Europe
Webinar: Smart answers for employee and customer support after covid 19 - EuropeWebinar: Smart answers for employee and customer support after covid 19 - Europe
Webinar: Smart answers for employee and customer support after covid 19 - EuropeLucidworks
 
Smart Answers for Employee and Customer Support After COVID-19
Smart Answers for Employee and Customer Support After COVID-19Smart Answers for Employee and Customer Support After COVID-19
Smart Answers for Employee and Customer Support After COVID-19Lucidworks
 
Applying AI & Search in Europe - featuring 451 Research
Applying AI & Search in Europe - featuring 451 ResearchApplying AI & Search in Europe - featuring 451 Research
Applying AI & Search in Europe - featuring 451 ResearchLucidworks
 
Webinar: Accelerate Data Science with Fusion 5.1
Webinar: Accelerate Data Science with Fusion 5.1Webinar: Accelerate Data Science with Fusion 5.1
Webinar: Accelerate Data Science with Fusion 5.1Lucidworks
 
Webinar: 5 Must-Have Items You Need for Your 2020 Ecommerce Strategy
Webinar: 5 Must-Have Items You Need for Your 2020 Ecommerce StrategyWebinar: 5 Must-Have Items You Need for Your 2020 Ecommerce Strategy
Webinar: 5 Must-Have Items You Need for Your 2020 Ecommerce StrategyLucidworks
 
Where Search Meets Science and Style Meets Savings: Nordstrom Rack's Journey ...
Where Search Meets Science and Style Meets Savings: Nordstrom Rack's Journey ...Where Search Meets Science and Style Meets Savings: Nordstrom Rack's Journey ...
Where Search Meets Science and Style Meets Savings: Nordstrom Rack's Journey ...Lucidworks
 
Apply Knowledge Graphs and Search for Real-World Decision Intelligence
Apply Knowledge Graphs and Search for Real-World Decision IntelligenceApply Knowledge Graphs and Search for Real-World Decision Intelligence
Apply Knowledge Graphs and Search for Real-World Decision IntelligenceLucidworks
 
Webinar: Building a Business Case for Enterprise Search
Webinar: Building a Business Case for Enterprise SearchWebinar: Building a Business Case for Enterprise Search
Webinar: Building a Business Case for Enterprise SearchLucidworks
 
Why Insight Engines Matter in 2020 and Beyond
Why Insight Engines Matter in 2020 and BeyondWhy Insight Engines Matter in 2020 and Beyond
Why Insight Engines Matter in 2020 and BeyondLucidworks
 

Plus de Lucidworks (20)

Search is the Tip of the Spear for Your B2B eCommerce Strategy
Search is the Tip of the Spear for Your B2B eCommerce StrategySearch is the Tip of the Spear for Your B2B eCommerce Strategy
Search is the Tip of the Spear for Your B2B eCommerce Strategy
 
Drive Agent Effectiveness in Salesforce
Drive Agent Effectiveness in SalesforceDrive Agent Effectiveness in Salesforce
Drive Agent Effectiveness in Salesforce
 
How Crate & Barrel Connects Shoppers with Relevant Products
How Crate & Barrel Connects Shoppers with Relevant ProductsHow Crate & Barrel Connects Shoppers with Relevant Products
How Crate & Barrel Connects Shoppers with Relevant Products
 
Lucidworks & IMRG Webinar – Best-In-Class Retail Product Discovery
Lucidworks & IMRG Webinar – Best-In-Class Retail Product DiscoveryLucidworks & IMRG Webinar – Best-In-Class Retail Product Discovery
Lucidworks & IMRG Webinar – Best-In-Class Retail Product Discovery
 
Connected Experiences Are Personalized Experiences
Connected Experiences Are Personalized ExperiencesConnected Experiences Are Personalized Experiences
Connected Experiences Are Personalized Experiences
 
Intelligent Insight Driven Policing with MC+A, Toronto Police Service and Luc...
Intelligent Insight Driven Policing with MC+A, Toronto Police Service and Luc...Intelligent Insight Driven Policing with MC+A, Toronto Police Service and Luc...
Intelligent Insight Driven Policing with MC+A, Toronto Police Service and Luc...
 
[Webinar] Intelligent Policing. Leveraging Data to more effectively Serve Com...
[Webinar] Intelligent Policing. Leveraging Data to more effectively Serve Com...[Webinar] Intelligent Policing. Leveraging Data to more effectively Serve Com...
[Webinar] Intelligent Policing. Leveraging Data to more effectively Serve Com...
 
Preparing for Peak in Ecommerce | eTail Asia 2020
Preparing for Peak in Ecommerce | eTail Asia 2020Preparing for Peak in Ecommerce | eTail Asia 2020
Preparing for Peak in Ecommerce | eTail Asia 2020
 
Accelerate The Path To Purchase With Product Discovery at Retail Innovation C...
Accelerate The Path To Purchase With Product Discovery at Retail Innovation C...Accelerate The Path To Purchase With Product Discovery at Retail Innovation C...
Accelerate The Path To Purchase With Product Discovery at Retail Innovation C...
 
AI-Powered Linguistics and Search with Fusion and Rosette
AI-Powered Linguistics and Search with Fusion and RosetteAI-Powered Linguistics and Search with Fusion and Rosette
AI-Powered Linguistics and Search with Fusion and Rosette
 
The Service Industry After COVID-19: The Soul of Service in a Virtual Moment
The Service Industry After COVID-19: The Soul of Service in a Virtual MomentThe Service Industry After COVID-19: The Soul of Service in a Virtual Moment
The Service Industry After COVID-19: The Soul of Service in a Virtual Moment
 
Webinar: Smart answers for employee and customer support after covid 19 - Europe
Webinar: Smart answers for employee and customer support after covid 19 - EuropeWebinar: Smart answers for employee and customer support after covid 19 - Europe
Webinar: Smart answers for employee and customer support after covid 19 - Europe
 
Smart Answers for Employee and Customer Support After COVID-19
Smart Answers for Employee and Customer Support After COVID-19Smart Answers for Employee and Customer Support After COVID-19
Smart Answers for Employee and Customer Support After COVID-19
 
Applying AI & Search in Europe - featuring 451 Research
Applying AI & Search in Europe - featuring 451 ResearchApplying AI & Search in Europe - featuring 451 Research
Applying AI & Search in Europe - featuring 451 Research
 
Webinar: Accelerate Data Science with Fusion 5.1
Webinar: Accelerate Data Science with Fusion 5.1Webinar: Accelerate Data Science with Fusion 5.1
Webinar: Accelerate Data Science with Fusion 5.1
 
Webinar: 5 Must-Have Items You Need for Your 2020 Ecommerce Strategy
Webinar: 5 Must-Have Items You Need for Your 2020 Ecommerce StrategyWebinar: 5 Must-Have Items You Need for Your 2020 Ecommerce Strategy
Webinar: 5 Must-Have Items You Need for Your 2020 Ecommerce Strategy
 
Where Search Meets Science and Style Meets Savings: Nordstrom Rack's Journey ...
Where Search Meets Science and Style Meets Savings: Nordstrom Rack's Journey ...Where Search Meets Science and Style Meets Savings: Nordstrom Rack's Journey ...
Where Search Meets Science and Style Meets Savings: Nordstrom Rack's Journey ...
 
Apply Knowledge Graphs and Search for Real-World Decision Intelligence
Apply Knowledge Graphs and Search for Real-World Decision IntelligenceApply Knowledge Graphs and Search for Real-World Decision Intelligence
Apply Knowledge Graphs and Search for Real-World Decision Intelligence
 
Webinar: Building a Business Case for Enterprise Search
Webinar: Building a Business Case for Enterprise SearchWebinar: Building a Business Case for Enterprise Search
Webinar: Building a Business Case for Enterprise Search
 
Why Insight Engines Matter in 2020 and Beyond
Why Insight Engines Matter in 2020 and BeyondWhy Insight Engines Matter in 2020 and Beyond
Why Insight Engines Matter in 2020 and Beyond
 

Dernier

How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024The Digital Insurer
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxKatpro Technologies
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 

Dernier (20)

How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 

PlayStation and Lucene - Indexing 1M documents per second: Presented by Alexander Filipchik, Sony Interactive Entertainment

  • 1. PlaySta'on  and  Lucene   Indexing  1M  documents  per  second    
  • 2. Who  is  talking   Alexander  Filipchik  (PSN:  LaserToy)   Principal  So>ware  Engineer                at  Sony  Interac've  Entertainment      
  • 4. Agenda   •  Quick  PSN  overview   •  Search  at  PlayStaEon   •  First  system:  200k  docs/second  for  PS  Store   •  Friends  Finder  and  the  Epic  Journey   •  And  finally  1M  docs/second      
  • 5. The  Rise  of  PlayStaEon4   PlayStaEon  Network  is  big  and  growing.   –  Over  65  million  monthly  acEve  users.   –  Hundreds  of  millions  of  users.   –  More  than  40M  devices   –  A  Lot  of  Services.  
  • 7.
  • 8. What  is  it?   •  It  is  an  online  store  for  PlayStaEon   •  To  give  you  an  idea:   –  Revenue  went  from  800M  per  year  several  years  ago   to  almost  5B  last  year   –  It  is  making  more  than  all  of  Nintendo   •  And  it  is  not  just  eCommerce,  it  is  connected  to  a   whole  set  of  services  –  Video  Streaming,  Game   Streaming,  Social,  etc  
  • 9. Search  use  cases   •  Simple  game  or  video  search   – Nothing  exciEng  here:  just  Solr   – But  you  said  something  is  indexing  200k  doc/sec   and  I  don’t  believe  there  are  so  many  games  and   videos  out  there!   -­‐  User  game/videos  library,  which  is  powered   by  Lucene  and  Cassandra    
  • 10. Challenges  that  led  to  the  design   •  We  are  not  Amazon,  so  content  should  be  delivered   right  away   •  What  you  bought  is  not  just  a  transac'onal  record   which  user  checks  once  in  a  while.  MulEple  services   need  instant  access  to  this  informaEon  in  real  'me   •  Which  means  it  should  be   –  highly  available   –  fast   –  easy  to  scale   –  launch  and  forget  
  • 11. The  Problem   •  Legacy  System  uses  well  known  RelaEonal  DB  to   handle  our  transacEons.   •  It  is  state  of  the  art  so>ware  that  doesn’t  scale   well  in  our  circumstances.     •  We  wanted  to  allow  client  to  run  any  queries   without  consulEng  with  DBAs  first.   •  Sharding  sounded  like  a  pain.   •  Mul'ple  regions  should  be  easy.  
  • 12. SoluEon,  as  easy  as   NoSQL  
  • 13. But  hold  on   Axiom   It  is  Not  Easy  to  Replace  a  RelaEonal  Database   with  NoSQL  for  user  facing  traffic.      -­‐  It  is  not  easy  in  general  
  • 14. Simple  Digital  Store  Model   Another  hundred  tables  
  • 16. Hypothesizes   •  For  us  most  load  will  come  from  user-­‐ centric  acEviEes   •  So,  we  will  mostly  query  within  a  user’s   dataset   •  Which  means  we  will  not  need  to  join   across  users  o>en  
  • 17. So  we  can  denormalize   Purchased  
  • 18. So,  we  came  up  with  The  Schema   Account1   Json  1   Json  2   ….   Json  n   Now  it  horizontally  scales  as  long  as  NoSQL  scales   We  can  even  have  some  rudimentary  transac'ons   Read  is  very  fast  –  no  joins   Now  we  need  to  propagate  user  purchases   And  updates  to  any  shared  data  (names,     descripEon)  from  RelaEonal  DB  and  other     sources  to  C*     And  figure  out  how  to  support  flexible  queries  
  • 19. Going  deeper   •  What  client  wants:   – Search,  sort,  filter   •  What  can  we  do:   – Use  some  kind  of  NoSql  secondary  Index   (Cassandra,  Couchbase,  …)  powered  by  magic   – Fetch  everything  in  memory  and  process  L   – How  about…  
  • 20. Solr?   •  Can  we  use  it  to  support  our  flexible  user  level  query   requirement?   •  Not  really:   –  Data  has  both  high  and  low  cardinality  properEes   –  We  will  need  to  somehow  index  relaEons  between   products,  enEtlements  and  users.  And  it  is  not  obvious.     –  And  it  will  not  be  very  fast  because  Solr  is  opEmized  for  a   completely  different  use  case   –  It  will  be  another  set  of  systems  to  support  and  scale  
  • 21. What  can  We  Do?   •  We  can  index  ourselves,  and  wri'ng  indexer   sounds  like  a  lot  of  fun   •  Wait,  someone  already  had  the  fun  and  made:  
  • 22. Account1   Json  1   Json  2   ….   Json  n   Schema  v2   Account1   Json  1   Json  n   Version   Now  We  can  Search  on  anything  inside  the  row  that  represents  the  user   Index  is  small  and  it  is  fast  to  pull  it  from  NoSql   But  we  will  be  pulling  all  this  bytes  (indexes)  all     the  'me  (stateless  design)   And  what  if  2  servers  write  to  the  same  row?  
  • 23. Distributed  Cache?   •  It  is  nice  to  keep  things  as  close  to  our  Microservice  as   possible   •  In  something  that  can  do  fast  reads   •  And  we  have  a  lot  of  RAM  these  days   •  So  we  can  have  a  beefy  Memcached/Redis/Aerospike/[Put   your  preferred  Cache]  deployment   •  And  SEll  pay  Network  penalty  and  think  about  scaling  them   •  What  if  
  • 24. So>  State  Paiern   •  Cache  lives  inside  the  MicroService,  so  no  network  penalty   •  There  are  very  good  libraries  for  ojeap  caching  (We  use  Ehcache)  out   there,  so  no  GC   •  Requests  for  the  same  user  are  processed  on  the  same  instance,  so  we   can  save  network  roundtrip  and    also  have  some  op'miza'ons  done   (read/write  lock,  etc)   •  Changes  to  State  also  are  replicated  to  the  storage  (C*)  and  are  idenEfied   with  some  version  number   •  We  will  need  to  check  index  version  before  doing  search   •  If  instance  goes  down,  user  session  is  moved  to  another  instance   automa'cally   •  It  is  much  easier  to  scale  up  Microservices  than  DB  
  • 25. Or  in  Other  Words   Account  1   Version   Account  2   Version   Account  3   Version   Account  4   Version   Account  5   Version   Account  6   Version   Account1   jsons   Version     Account2   jsons     Version     Account3   jsons     Version     Account4   jsons     Version     Account5   jsons     Version     ….   …   …   …   Account  n   jsons     Version     Instance  1   Instance  2   Instance  3   NoSql  
  • 26. At  first  simple  changes  to  Lucene   RAMFile     RAMDirectory   implements  Serializable   WritableRAMFile     WritableRAMDirectory     WritableRAMInputStream     WritableRAMOutputStream  
  • 27. How  can  you  do  rouEng?   •  We  are  on  AWS  so  we  just  used  ELB  s'ckiness  with  a   twist   •  It  works  only  with  cookies  so,  you  will  need  to   somehow  store  them   •  Client  library  is  smart  and  writes  accountId-­‐ >AWSSEckyCookie  to  a  shared  cache   •  Before  sending  request  through  ELB  we  pull  s'cky   cookie  from  the  shared  cache  and  a^ach  it  to  the   request  
  • 28. But  what  if  cross  user  data  changes?   •  Product  was  renamed   •  Game  image  just  got  updated   •  And  so  on…  
  • 29. RelaEvity  to  the  rescue  
  • 30. Cross  User  Data  sync   •  So,  as  simply  as:     – Reverse  lookup  table  to  find  all  affected  users   – When  something  changes  find  all  the  affected   users   – And  lazily  reindex  
  • 31. How  About  Stats?   •  Tens  of  billions  of  documents   •  Average  API  latency  is  below  10ms   •  Actual  search  latency  is  in  microseconds   •  Hundreds  thousands  of  documents  are  indexed   per  second   •  And  most  importantly:   –  No  major  incidents  in  producEon.  
  • 32. Let’s  talk  about  1M  doc/sec   Friend  Finder  
  • 33. New  Feature/new  Journey   •  We  want  users  to  be  able  to  find  other  users  on  the  plarorm   •  We  should  respect  privacy  sesngs   •  We  want  to  recommend  new  friends  to  users  (You  May  Know)   •  When  user  searches  we  want  to  display  result  in  the  following   order:   –  Direct  friends   –  Friends  of  Friends  0_o   –  Everyone  else       •  Do  it  fast  with  a  small  team  of  ninjas  (small  means  2  engs)  
  • 34. So,  we  figured  out   •  We  can  use  Solr  to  index  everyone,  so  we  can  do  pla`orm  wide   search   •  And  decided  to  reuse  same  idea  we  did  for  Store  with  personal   indexes,  so  we  can:   –  Sort  by  distance  (direct,  friend  of  a  friend)   –  Sort  by  other  user  related  fields  (who  do  I  play  with  o>en,  Facebook   friends,  and  so  on)   –  You  may  know  is  another  search:  Give  me  10  friend  of  friends  sorted   by  number  of  common  friends   •  It  required  some  kind  of  no'fica'ons  system  in  place  so   personalized  indexes  can  be  rebuilt  when  something  related                       to  a  parEcular  user  changes  
  • 35. Let’s  put  some  boxes   Solr  Cloud   Social   Network   Friends   Finder   Cassandra   Queue   Personalized   Search   Microservice   Indexer   Change   Change   New  user   Privacy  update   etc   Friendship  changed   Name  change   etc  
  • 36. How  did  it  do?   •  Solr  was  fine   •  Personalized  part  not  so  fine   •  Each  change  in  friendship  required  reindexing  of  a  lot  of   users   •  Same  goes  for  privacy  changes   •  NoSQL  we  use  (Cassandra)  uses  SSTables,  so  space  it  not   released  right  a>er  an  update   •  Data  size  was  growing  much  faster  than  we  expected   •  So,  we  had  to  take  ac'on  
  • 37. Here  we  again   Taming  another  beast  
  • 38. Some  insights   •  You  May  Know  was  producing  a  significant   load   •  Both  on  update  indexing  and  lazy  indexing   (only  when  user  goes  to  search  or  checks   You  May  Know)  didn’t  help   •  Users  don’t  search  frequently,  but  when   they  do  they  spend  some  'me  doing  it  
  • 39. AcEons   •  Cache  You  May  Know   •  Learn  that  it  doesn’t  help   •  Back  to  the  drawing  board  
  • 40. Crazy  idea   •  What  if  we  do  ephemeral  indexes?   •  They  can  live  in  memory  for  the  dura'on  of   user’s  search  session  and  then  get  discarded   •  We  can  use  the  same  code,  we  just  need  to   slightly  change  it  
  • 41. More  boxes   Solr  Cloud   Social   Network   Friends   Finder   Queue   Personalized   Search   Microservice   Indexer   Change   New  user   Privacy  update   etc   Get  Friends   Friendship     Change,  etc  
  • 42. Is  it  fixed  yet?   •  Not  really   •  Now  we  need  to  make  indexing  really  fast   •  And  significant  'me  and  resources  are  spent   on  pulling  user  related  data  from  Social   network   •  Wait,  we’ve  just  talked  about  Sod  State.  What   if?  
  • 43. Let’s  do  math   •  Number  of  users:  hundreds  of  millions,  but   number  of  ac've  is  less   •  Each  user  has  some  searchable  metadata;  let’s   say  it  is  200  bytes   •  How  much  memory  will  we  need  to  cache  all  the   acEve  ones?     •  100000000  *  200/  (1024  *  1024*  1024)  =  18Gb   •  Well,  it  looks  like  it  is  doable  
  • 44. We  can  organize  it  like   App  Memory   Java  Heap   (8Gb)   Off  Heap  Ehcache  (40  Gb)   Accounts  info  (20Gb)   Lucene  indexes  (20Gb)   SSD  if  we  need  to  spill  over  
  • 45. Will  it  work?   •  On  AWS  we  can  have  up  to  256Gb  of  ram  (r3.8xlarge)   and  instances  have  SSDs  which  usually  do  nothing   •  Actually,  with  new  X1  family  we  can  have  up  to  1.9  TB   •  The  only  catch,  now  we  need  to  propagate  changes   that  go  to  Solr  to  Search  microservice  so  we  don’t  use   stale  metadata   •  So,  it  sounds  like  it  can  work  
  • 47. Learnings   •  You  can  do  wonders  when  you  are  desperate     •  Worked  before  doesn't  mean  that  it  is  going  to   work  now   •  Lucene  is  extremely  fast  when  index  is  small   •  And  can  be  applied  to  use  cases  that  don’t  look   like  search   •  You  can’t  beat  RAM    
  • 48. PlaySta'on  is  hiring  in  SF:   Find  me  at  hackitects.com