SlideShare ist ein Scribd-Unternehmen logo
1 von 81
Downloaden Sie, um offline zu lesen
APACHECON NORTH AMERICA 2013

    CASSANDRA
    INTERNALS
                       Aaron Morton
                       @aaronmorton
                     www.thelastpickle.com




   Licensed under a Creative Commons Attribution-NonCommercial 3.0 New Zealand License
About Me
       Freelance Cassandra Consultant
      Based in Wellington, New Zealand
        Apache Cassandra Committer
     Data Stax MVP for Apache Cassandra
Architecture
   Code
Cassandra Architecture
                             Clients


                              API's


                          Cluster Aware


                         Cluster Unaware



                              Disk
Cassandra Cluster Architecture
                     Clients


                      API's             API's


                  Cluster Aware     Cluster Aware


                 Cluster Unaware   Cluster Unaware



                      Disk              Disk

                     Node 1            Node 2
Dynamo Cluster Architecture
                  Clients


                   API's       API's


                  Dynamo      Dynamo


                  Database    Database



                   Disk        Disk

                  Node 1      Node 2
Architecture
    API
 Dynamo
 Database
API Transports

                    Thrift
                 Native Binary
                  Read Line
                     RMI
Thrift Transport

   //Custom TServer implementations

   o.a.c.thrift.CustomTThreadPoolServer
   o.a.c.thrift.CustomTNonBlockingServer
   o.a.c.thrift.CustomTHsHaServer
API Transports

                     Thrift
                 Native Binary
                  Read Line
                      RMI
Native Binary Transport

         Beta in Cassandra 1.2
           Uses Netty 3.5
             Enabled with
   start_native_transport
                    (Disabled by default)
o.a.c.transport.Server.run()

   //Setup the Netty server
   new ExecutionHandler()
   new NioServerSocketChannelFactory()
   ServerBootstrap.setPipelineFactory()
o.a.c.transport.Message.Dispatcher.messageReceived()

   //Process message from client
   ServerConnection.validateNewMessage()
   Request.execute()
   ServerConnection.applyStateTransition()
   Channel.write()
o.a.c.transport.messages

   CredentialsMessage()
   EventMessage()
   ExecuteMessage()
   PrepareMessage()
   QueryMessage()
   ResultMessage()
                  (And more...)
Messages


  Defined in the Native Binary
           Protocol
 $SRC/doc/native_protocol.spec
API Services

                JMX
                CLI
               Thrift
               CQL 3
JMX Management Beans

 Spread around the code base.

   Interfaces named *MBean
JMX Management Beans

    Registered with the names
             such as
     org.apache.cassandra.db:
        type=StorageProxy
API Services

                JMX
                CLI
               Thrift
               CQL 3
o.a.c.cli.CliMain.main()

  // Connect to server to read input
  this.connect()
  this.evaluateFileStatements()
  this.processStatementInteractive()
CLI Grammar


         ANTLR Grammar
  $SRC/src/java/o/a/c/cli/CLI.g
o.a.c.cli.CliClient.executeCLIStatement()

   // Process statement
   CliCompiler.compileQuery() #ANTLR
   switch (tree.getType())
       case...
API Services

                JMX
                CLI
               Thrift
               CQL 3
o.a.c.thrift.CassandraServer

  // Implements Thrift Interface
  // Access control
  // Input validation
  // Mapping to/from Thrift and internal types
Thrift Interface


                   Thrift IDL
$SRC/interface/cassandra.thrift
o.a.c.thrift.CassandraServer.get_slice()

  // get columns for one row
  Tracing.begin()
  ClientState cState = state()
  cState.hasColumnFamilyAccess()
  multigetSliceInternal()
CassandraServer.multigetSliceInternal()

  // get columns for may rows
  ThriftValidation.validate*()
  // Create ReadCommands
  getSlice()
CassandraServer.getSlice()

  // Process ReadCommands
  // return Thrift types

  readColumnFamily()
  thriftifyColumnFamily()
CassandraServer.readColumnFamily()

  // Process ReadCommands
  // Return ColumnFamilies

  StorageProxy.read()
API Services

                JMX
                CLI
               Thrift
               CQL 3
o.a.c.cql3.QueryProcessor

  // Prepares and executes CQL3 statements
  // Used by Thrift & Native transports
  // Access control
  // Input validation
  // Returns transport.ResultMessage
CQL3 Grammar


         ANTLR Grammar
       $SRC/o.a.c.cql3/Cql.g
o.a.c.cql3.statements.ParsedStatement

  // Subclasses generated by ANTLR
  // Tracks bound term count
  // Prepare CQLStatement
  prepare()
o.a.c.cql3.statements.CQLStatement

  checkAccess(ClientState state)
  validate(ClientState state)
  execute(ConsistencyLevel cl,
          QueryState state,
          List<ByteBuffer> variables)
o.a.c.cql3.functions.Function

  argsType()
  returnType()
  execute(List<ByteBuffer>
          parameters)
statements.SelectStatement.RawStatement

  // Implements ParsedStatement
  // Input validation
  prepare()
statements.SelectStatement.execute()

  // Create ReadCommands
  StorageProxy.read()
Architecture
    API
 Dynamo
 Database
Dynamo Layer
               o.a.c.service
                 o.a.c.net
                 o.a.c.dht
               o.a.c.locator
                 o.a.c.gms

               o.a.c.stream
o.a.c.service.StorageProxy

  // Cluster wide storage operations
  // Select endpoints & check CL available
  // Send messages to Stages
  // Wait for response
  // Store Hints
o.a.c.service.StorageService

  // Ring operations
  // Track ring state
  // Start & stop ring membership
  // Node & token queries
o.a.c.service.IResponseResolver

  preprocess(MessageIn<T> message)
  resolve() throws
   DigestMismatchException

  RowDigestResolver
  RowDataResolver
  RangeSliceResponseResolver
Response Handlers / Callback

  implements IAsyncCallback<T>

  response(MessageIn<T> msg)
o.a.c.service.ReadCallback.get()

  //Wait for blockfor & data
  condition.await(timeout,
   TimeUnit.MILLISECONDS)

  throw ReadTimeoutException()

  resolver.resolve()
o.a.c.service.StorageProxy.fetchRows()

  getLiveSortedEndpoints()
  new RowDigestResolver()
  new ReadCallback()
  MessagingService.sendRR()
  ---------------------------------------
  ReadCallback.get() # blocking
  catch (DigestMismatchException ex)
  catch (ReadTimeoutException ex)
Dynamo Layer
               o.a.c.service
                 o.a.c.net
                 o.a.c.dht
               o.a.c.locator
                o.a.c.gms

               o.a.c.stream
o.a.c.net.MessagingService.verb<<enum>>

  MUTATION
  READ
  REQUEST_RESPONSE
  TREE_REQUEST
  TREE_RESPONSE
                (And more...)
o.a.c.net.MessagingService.verbHandlers


  new EnumMap<Verb,
     IVerbHandler>(Verb.class)
o.a.c.net.IVerbHandler<T>

  doVerb(MessageIn<T> message,
         String id);
o.a.c.net.MessagingService.verbStages

  new EnumMap<MessagingService.Verb,
      Stage>(MessagingService.Verb.class)
o.a.c.net.MessagingService.receive()

  runnable = new MessageDeliveryTask(
    message, id, timestamp);

  StageManager.getStage(
    message.getMessageType());

  stage.execute(runnable);
o.a.c.net.MessageDeliveryTask.run()

  // If dropable and rpc_timeout
  MessagingService.incrementDroppedMessag
es(verb);

  MessagingService.getVerbHandler(verb)
  verbHandler.doVerb(message, id)
Dynamo Layer
               o.a.c.service
                 o.a.c.net
                 o.a.c.dht
               o.a.c.locator
                o.a.c.gms

               o.a.c.stream
o.a.c.dht.IPartitioner<T extends Token>

  getToken(ByteBuffer key)
  getRandomToken()

  LocalPartitioner
  RandomPartitioner
  Murmur3Partitioner
o.a.c.dht.Token<T>

  compareTo(Token<T> o)

  BytesToken
  BigIntegerToken
  LongToken
Dynamo Layer
               o.a.c.service
                 o.a.c.net
                 o.a.c.dht
               o.a.c.locator
                 o.a.c.gms

               o.a.c.stream
o.a.c.locator.IEndpointSnitch

  getRack(InetAddress endpoint)
  getDatacenter(InetAddress endpoint)
  sortByProximity(InetAddress address,
   List<InetAddress> addresses)

  SimpleSnitch
  PropertyFileSnitch
  Ec2MultiRegionSnitch
o.a.c.locator.AbstractReplicationStrategy

  getNaturalEndpoints(
      RingPosition searchPosition)
  calculateNaturalEndpoints(Token
    searchToken, TokenMetadata
    tokenMetadata)

  SimpleStrategy
  NetworkTopologyStrategy
o.a.c.locator.TokenMetadata

  BiMultiValMap<Token, InetAddress>
      tokenToEndpointMap
  BiMultiValMap<Token, InetAddress>
      bootstrapTokens
  Set<InetAddress> leavingEndpoints
Dynamo Layer
               o.a.c.service
                 o.a.c.net
                 o.a.c.dht
               o.a.c.locator
                o.a.c.gms

               o.a.c.stream
o.a.c.gms.VersionedValue

  // VersionGenerator.getNextVersion()

  public final int version;
  public final String value;
o.a.c.gms.ApplicationState<<enum>>

  STATUS
  LOAD
  SCHEMA
  DC
  RACK
                 (And more...)
o.a.c.gms.HeartBeatState

  //VersionGenerator.getNextVersion();

  private int generation;
  private int version;
o.a.c.gms.Gossiper.GossipTask.run()

  // SYN -> ACK -> ACK2
  makeRandomGossipDigest()
  new GossipDigestSyn()

  // Use MessagingService.sendOneWay()
  Gossiper.doGossipToLiveMember()
  Gossiper.doGossipToUnreachableMember()
  Gossiper.doGossipToSeed()
gms.GossipDigestSynVerbHandler.doVerb()

  Gossiper.examineGossiper()
  new GossipDigestAck()
  MessagingService.sendOneWay()
gms.GossipDigestAck2VerbHandler.doVerb()

  Gossiper.notifyFailureDetector()
  Gossiper.applyStateLocally()
Architecture
  API Layer
Dynamo Layer
Database Layer
Database Layer
                 o.a.c.concurrent
                      o.a.c.db

                   o.a.c.cache
                     o.a.c.io
                   o.a.c.trace
o.a.c.concurrent.StageManager

  stages = new EnumMap<Stage,
    ThreadPoolExecutor>(Stage.class);

  getStage(Stage stage)
o.a.c.concurrent.Stage


  READ
  MUTATION
  GOSSIP
  REQUEST_RESPONSE
  ANTI_ENTROPY
                (And more...)
Database Layer
                 o.a.c.concurrent
                      o.a.c.db

                   o.a.c.cache
                     o.a.c.io
                   o.a.c.trace
o.a.c.db.Table

  // Keyspace
  open(String table)
  getColumnFamilyStore(String cfName)

  getRow(QueryFilter filter)
  apply(RowMutation mutation,
       boolean writeCommitLog)
o.a.c.db.ColumnFamilyStore

  // Column Family
  getColumnFamily(QueryFilter filter)
  getTopLevelColumns(...)

  apply(DecoratedKey key,
       ColumnFamily columnFamily,
       SecondaryIndexManager.Updater
       indexer)
o.a.c.db.IColumnContainer

  addColumn(IColumn column)
  remove(ByteBuffer columnName)

  ColumnFamily
  SuperColumn
o.a.c.db.ISortedColumns

  addColumn(IColumn column,
            Allocator allocator)
  removeColumn(ByteBuffer name)

  ArrayBackedSortedColumns
  AtomicSortedColumns
  TreeMapBackedSortedColumns
o.a.c.db.Memtable

  put(DecoratedKey key,
      ColumnFamily columnFamily,
      SecondaryIndexManager.Updater
      indexer)

  flushAndSignal(CountDownLatch latch,
                 Future<ReplayPosition>
                 context)
Memtable.FlushRunnable.writeSortedContent
s()

  // SSTableWriter
  createFlushWriter()

  // Iterate through rows & CF’s in order
  writer.append()
o.a.c.db.ReadCommand

  getRow(Table table)

  SliceByNamesReadCommand
  SliceFromReadCommand
o.a.c.db.IDiskAtomFilter

  getMemtableColumnIterator(...)
  getSSTableColumnIterator(...)

  IdentityQueryFilter
  NamesQueryFilter
  SliceQueryFilter
Thanks.
Aaron Morton
                     @aaronmorton
                   www.thelastpickle.com




Licensed under a Creative Commons Attribution-NonCommercial 3.0 New Zealand License

Weitere ähnliche Inhalte

Was ist angesagt?

003 admin featuresandclients
003 admin featuresandclients003 admin featuresandclients
003 admin featuresandclients
Scott Miao
 
006 performance tuningandclusteradmin
006 performance tuningandclusteradmin006 performance tuningandclusteradmin
006 performance tuningandclusteradmin
Scott Miao
 
005 cluster monitoring
005 cluster monitoring005 cluster monitoring
005 cluster monitoring
Scott Miao
 

Was ist angesagt? (20)

Analyze corefile and backtraces with GDB for Mysql/MariaDB on Linux - Nilanda...
Analyze corefile and backtraces with GDB for Mysql/MariaDB on Linux - Nilanda...Analyze corefile and backtraces with GDB for Mysql/MariaDB on Linux - Nilanda...
Analyze corefile and backtraces with GDB for Mysql/MariaDB on Linux - Nilanda...
 
Cassandra Internals Overview
Cassandra Internals OverviewCassandra Internals Overview
Cassandra Internals Overview
 
Mysql database basic user guide
Mysql database basic user guideMysql database basic user guide
Mysql database basic user guide
 
Postgresql Database Administration Basic - Day1
Postgresql  Database Administration Basic  - Day1Postgresql  Database Administration Basic  - Day1
Postgresql Database Administration Basic - Day1
 
Cassandra Community Webinar: Back to Basics with CQL3
Cassandra Community Webinar: Back to Basics with CQL3Cassandra Community Webinar: Back to Basics with CQL3
Cassandra Community Webinar: Back to Basics with CQL3
 
003 admin featuresandclients
003 admin featuresandclients003 admin featuresandclients
003 admin featuresandclients
 
PostgreSQL Replication High Availability Methods
PostgreSQL Replication High Availability MethodsPostgreSQL Replication High Availability Methods
PostgreSQL Replication High Availability Methods
 
002 hbase clientapi
002 hbase clientapi002 hbase clientapi
002 hbase clientapi
 
006 performance tuningandclusteradmin
006 performance tuningandclusteradmin006 performance tuningandclusteradmin
006 performance tuningandclusteradmin
 
Learning postgresql
Learning postgresqlLearning postgresql
Learning postgresql
 
Mongodb replication
Mongodb replicationMongodb replication
Mongodb replication
 
005 cluster monitoring
005 cluster monitoring005 cluster monitoring
005 cluster monitoring
 
Cassandra and Spark
Cassandra and Spark Cassandra and Spark
Cassandra and Spark
 
Cassandra SF Meetup - CQL Performance With Apache Cassandra 3.X
Cassandra SF Meetup - CQL Performance With Apache Cassandra 3.XCassandra SF Meetup - CQL Performance With Apache Cassandra 3.X
Cassandra SF Meetup - CQL Performance With Apache Cassandra 3.X
 
HBaseCon 2012 | Learning HBase Internals - Lars Hofhansl, Salesforce
HBaseCon 2012 | Learning HBase Internals - Lars Hofhansl, SalesforceHBaseCon 2012 | Learning HBase Internals - Lars Hofhansl, Salesforce
HBaseCon 2012 | Learning HBase Internals - Lars Hofhansl, Salesforce
 
Example R usage for oracle DBA UKOUG 2013
Example R usage for oracle DBA UKOUG 2013Example R usage for oracle DBA UKOUG 2013
Example R usage for oracle DBA UKOUG 2013
 
Bulk Loading Data into Cassandra
Bulk Loading Data into CassandraBulk Loading Data into Cassandra
Bulk Loading Data into Cassandra
 
Sap basis administrator user guide
Sap basis administrator   user guideSap basis administrator   user guide
Sap basis administrator user guide
 
What is new in PostgreSQL 14?
What is new in PostgreSQL 14?What is new in PostgreSQL 14?
What is new in PostgreSQL 14?
 
Cassandra Summit 2015: Intro to DSE Search
Cassandra Summit 2015: Intro to DSE SearchCassandra Summit 2015: Intro to DSE Search
Cassandra Summit 2015: Intro to DSE Search
 

Ähnlich wie Apache Con NA 2013 - Cassandra Internals

解读server.xml文件
解读server.xml文件解读server.xml文件
解读server.xml文件
wensheng wei
 

Ähnlich wie Apache Con NA 2013 - Cassandra Internals (20)

Apache Cassandra in Bangalore - Cassandra Internals and Performance
Apache Cassandra in Bangalore - Cassandra Internals and PerformanceApache Cassandra in Bangalore - Cassandra Internals and Performance
Apache Cassandra in Bangalore - Cassandra Internals and Performance
 
Cassandra Community Webinar: Apache Cassandra Internals
Cassandra Community Webinar: Apache Cassandra InternalsCassandra Community Webinar: Apache Cassandra Internals
Cassandra Community Webinar: Apache Cassandra Internals
 
Cassandra Community Webinar - August 22 2013 - Cassandra Internals
Cassandra Community Webinar - August 22 2013 - Cassandra InternalsCassandra Community Webinar - August 22 2013 - Cassandra Internals
Cassandra Community Webinar - August 22 2013 - Cassandra Internals
 
Cassandra 2.1 boot camp, Overview
Cassandra 2.1 boot camp, OverviewCassandra 2.1 boot camp, Overview
Cassandra 2.1 boot camp, Overview
 
Cassandra SF 2013 - Cassandra Internals
Cassandra SF 2013 - Cassandra InternalsCassandra SF 2013 - Cassandra Internals
Cassandra SF 2013 - Cassandra Internals
 
C* Summit EU 2013: Cassandra Internals
C* Summit EU 2013: Cassandra Internals C* Summit EU 2013: Cassandra Internals
C* Summit EU 2013: Cassandra Internals
 
Learning spark ch10 - Spark Streaming
Learning spark ch10 - Spark StreamingLearning spark ch10 - Spark Streaming
Learning spark ch10 - Spark Streaming
 
What the CRaC - Superfast JVM startup
What the CRaC - Superfast JVM startupWhat the CRaC - Superfast JVM startup
What the CRaC - Superfast JVM startup
 
You need Event Mesh, not Service Mesh - Chris Suszynski [WJUG 301]
You need Event Mesh, not Service Mesh - Chris Suszynski [WJUG 301]You need Event Mesh, not Service Mesh - Chris Suszynski [WJUG 301]
You need Event Mesh, not Service Mesh - Chris Suszynski [WJUG 301]
 
apache-refcard-a4.pdf
apache-refcard-a4.pdfapache-refcard-a4.pdf
apache-refcard-a4.pdf
 
Hands-on Lab: Comparing Redis with Relational
Hands-on Lab: Comparing Redis with RelationalHands-on Lab: Comparing Redis with Relational
Hands-on Lab: Comparing Redis with Relational
 
Overview of Zookeeper, Helix and Kafka (Oakjug)
Overview of Zookeeper, Helix and Kafka (Oakjug)Overview of Zookeeper, Helix and Kafka (Oakjug)
Overview of Zookeeper, Helix and Kafka (Oakjug)
 
Hands-on Lab: Amazon ElastiCache
Hands-on Lab: Amazon ElastiCacheHands-on Lab: Amazon ElastiCache
Hands-on Lab: Amazon ElastiCache
 
Online Meetup: Why should container system / platform builders care about con...
Online Meetup: Why should container system / platform builders care about con...Online Meetup: Why should container system / platform builders care about con...
Online Meetup: Why should container system / platform builders care about con...
 
解读server.xml文件
解读server.xml文件解读server.xml文件
解读server.xml文件
 
Netflix at-disney-09-26-2014
Netflix at-disney-09-26-2014Netflix at-disney-09-26-2014
Netflix at-disney-09-26-2014
 
Recipes for Running Spark Streaming Applications in Production-(Tathagata Das...
Recipes for Running Spark Streaming Applications in Production-(Tathagata Das...Recipes for Running Spark Streaming Applications in Production-(Tathagata Das...
Recipes for Running Spark Streaming Applications in Production-(Tathagata Das...
 
Monitoring Cassandra at Scale (Jason Cacciatore, Netflix) | C* Summit 2016
Monitoring Cassandra at Scale (Jason Cacciatore, Netflix) | C* Summit 2016Monitoring Cassandra at Scale (Jason Cacciatore, Netflix) | C* Summit 2016
Monitoring Cassandra at Scale (Jason Cacciatore, Netflix) | C* Summit 2016
 
(BAC404) Deploying High Availability and Disaster Recovery Architectures with...
(BAC404) Deploying High Availability and Disaster Recovery Architectures with...(BAC404) Deploying High Availability and Disaster Recovery Architectures with...
(BAC404) Deploying High Availability and Disaster Recovery Architectures with...
 
Practical non blocking microservices in java 8
Practical non blocking microservices in java 8Practical non blocking microservices in java 8
Practical non blocking microservices in java 8
 

Mehr von aaronmorton

Cassandra does what ? Code Mania 2012
Cassandra does what ? Code Mania 2012Cassandra does what ? Code Mania 2012
Cassandra does what ? Code Mania 2012
aaronmorton
 
Nzpug welly-cassandra-02-12-2010
Nzpug welly-cassandra-02-12-2010Nzpug welly-cassandra-02-12-2010
Nzpug welly-cassandra-02-12-2010
aaronmorton
 

Mehr von aaronmorton (15)

Cassandra Day Atlanta 2016 - Monitoring Cassandra
Cassandra Day Atlanta 2016  - Monitoring CassandraCassandra Day Atlanta 2016  - Monitoring Cassandra
Cassandra Day Atlanta 2016 - Monitoring Cassandra
 
Cassandra London March 2016 - Lightening talk - introduction to incremental ...
Cassandra London March 2016  - Lightening talk - introduction to incremental ...Cassandra London March 2016  - Lightening talk - introduction to incremental ...
Cassandra London March 2016 - Lightening talk - introduction to incremental ...
 
Cassandra SF 2015 - Repeatable, Scalable, Reliable, Observable Cassandra
Cassandra SF 2015 - Repeatable, Scalable, Reliable, Observable CassandraCassandra SF 2015 - Repeatable, Scalable, Reliable, Observable Cassandra
Cassandra SF 2015 - Repeatable, Scalable, Reliable, Observable Cassandra
 
Cassandra sf 2015 - Steady State Data Size With Compaction, Tombstones, and TTL
Cassandra sf 2015 - Steady State Data Size With Compaction, Tombstones, and TTL Cassandra sf 2015 - Steady State Data Size With Compaction, Tombstones, and TTL
Cassandra sf 2015 - Steady State Data Size With Compaction, Tombstones, and TTL
 
Cassandra TK 2014 - Large Nodes
Cassandra TK 2014 - Large NodesCassandra TK 2014 - Large Nodes
Cassandra TK 2014 - Large Nodes
 
Cassandra Community Webinar August 29th 2013 - In Case Of Emergency, Break Glass
Cassandra Community Webinar August 29th 2013 - In Case Of Emergency, Break GlassCassandra Community Webinar August 29th 2013 - In Case Of Emergency, Break Glass
Cassandra Community Webinar August 29th 2013 - In Case Of Emergency, Break Glass
 
Cassandra SF 2013 - In Case Of Emergency Break Glass
Cassandra SF 2013 - In Case Of Emergency Break GlassCassandra SF 2013 - In Case Of Emergency Break Glass
Cassandra SF 2013 - In Case Of Emergency Break Glass
 
Cassandra Community Webinar - Introduction To Apache Cassandra 1.2
Cassandra Community Webinar  - Introduction To Apache Cassandra 1.2Cassandra Community Webinar  - Introduction To Apache Cassandra 1.2
Cassandra Community Webinar - Introduction To Apache Cassandra 1.2
 
Cassandra SF 2012 - Technical Deep Dive: query performance
Cassandra SF 2012 - Technical Deep Dive: query performance Cassandra SF 2012 - Technical Deep Dive: query performance
Cassandra SF 2012 - Technical Deep Dive: query performance
 
Hello @world #cassandra
Hello @world #cassandraHello @world #cassandra
Hello @world #cassandra
 
Cassandra does what ? Code Mania 2012
Cassandra does what ? Code Mania 2012Cassandra does what ? Code Mania 2012
Cassandra does what ? Code Mania 2012
 
Nzpug welly-cassandra-02-12-2010
Nzpug welly-cassandra-02-12-2010Nzpug welly-cassandra-02-12-2010
Nzpug welly-cassandra-02-12-2010
 
Introduction to Cassandra
Introduction to CassandraIntroduction to Cassandra
Introduction to Cassandra
 
Building a distributed Key-Value store with Cassandra
Building a distributed Key-Value store with CassandraBuilding a distributed Key-Value store with Cassandra
Building a distributed Key-Value store with Cassandra
 
Cassandra - Wellington No Sql
Cassandra - Wellington No SqlCassandra - Wellington No Sql
Cassandra - Wellington No Sql
 

Kürzlich hochgeladen

Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
panagenda
 

Kürzlich hochgeladen (20)

Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with Milvus
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot ModelMcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
 
Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistan
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
 

Apache Con NA 2013 - Cassandra Internals