Michal Augustýn Senior Software AVAST Software Microsoft Most Valuable Professional (ASP.NET/IIS) augi.cz
„cloudovatění“ antivirů Web Reputation Console FileRep viruslab info o „vzorcích”
máte fakt hodně dat potřebujete škálovat reads/writes odstranění SPoF prostorová lokalita
Zdroj:
Java (=> multiplatformní) BigTable datamodel Dynamo infrastruktura API Thrift CQL integrace s Hadoopem MapReduce joby, které čtou i zapisují z/do Cassandry
keyspace ~ databáze column family ~tabulka Examples UsersArticles
Key: „bob“ CN: „First name“ CV: „Robert“ TS: CN: „Born“ CV: 1987 TS: Key: „ali“ CN: „FirstName“ CV: „Alice“ TS: CN: „BirthDate“ CV: „ “ TS: Key: 0x CN: 0x CV: 0x TS: CN: 0x CV: 0x TS: CN: 0x CV: 0x TS: key -> column name -> column value
SELECT * FROM User WHERE Id = 5 SELECT * FROM User WHERE KEY = 5 SELECT * FROM User WHERE Username = ‘radek’ SELECT * FROM User WHERE RegistrationDate > ‘ ’ nelze INSERT INTO User (Id, Username, …) VALUES (5, ‘rene’, …) INSERT INTO User (KEY, Username, …) VALUES (5, ‘rene’, …) UPDATE User SET Username = ‘rene’ WHERE Id = 5 INSERT INTO User (KEY, Username) VALUES (5, ‘rene’)
Key: CN: „First name“ CV: „Rene“ TS: CN: „Username“ CV: „rene” TS: Key: CN: „First name“ CV: „Radek“ TS: CN: „Username“ CV: „rado“ TS: primary data CN: „Born“ CV: 1977 TS: CN: „Born“ CV: 1976 TS: Key: „Rene“ CN: CV: TS: secondary index Key: „Radek“ CN: CV: TS:
APPLICATION Web GUI Desktop App Persistence Add Update Remove GetById GetNewUsers UserRepository Add Update Remove GetById GetPublished ArticleRepository
APPLICATION GUI Persistence Add Update Remove GetById UserRepository Add Update Remove GetById ArticleRepository NewUsersQueryPublishedArticlesQuery
APPLICATION GUI Persistence Add Update Remove GetById UserRepository Add Update Remove GetById ArticleRepository NewUsersQueryPublishedArticlesQuery Domain Database Query DB
APPLICATION GUI UserRepository ArticleRepository DomainQueries PublishedArticlesQuery NewUsersQuery Domain Database Query Database
Decide ReportAct Command Event Query
nepoužívejte Cassandru, pokud se to nevyplatí cassandra.apache.org cassandra.apache.org ALE mějte dobře navrženou aplikaci CQRS Udi Dahan Gregory Young Rinat Abdulin
…a možná i odpovědi