Upload
others
View
1
Download
0
Embed Size (px)
Citation preview
What’sNewInCouchbaseServer4.5
ClarenceJMTauro,Ph.DSr.Instructor,Couchbase
©2015CouchbaseInc. 2
AbouttheSpeaker
▪ ClarenceJMTauro–[email protected]– @javapsycheonTwiFer– SeniorInstructor,Couchbase– ~12YearsProfessionalTeachingandConsulLngExperience– Ph.DinComputerSciencefromChristUniversity– Hard-coreDoglover
©2015CouchbaseInc. 3
BetaProgramforversion4.5
▪ Timeline– 1week(June17thorwhenweGAtheproduct)
©2015CouchbaseInc. 4
Disclaimer
▪ CouchbaseServer4.5issLllunderdevelopmentinthebetaperiod.DetailspresentedheremaychangebasedoncustomerfeedbackandotherfactorsbytheLmethefinalversionoftheproductisreleased.
©2015CouchbaseInc. 5
CouchbaseServer–theOperaEonalDBMSforweb,mobile,andIOTapplicaEons
CombinestheflexibilityofJSON,thepowerofSQL,andthescaleofNoSQL
DevelopwithAgility OperateatAnyScale
▪ FlexibleJSONdatamodel
▪ Dynamicschemasupport
▪ PowerfulquerylanguagethatextendsSQLtoJSON
▪ Sub-millisecondlatenciesatscale
▪ ElasLcscalingoncommodityservers
▪ Highavailability
©2015CouchbaseInc. 6
TheJourneythusFar
FocusedonTechnicalInnovaLon
CouchbaseServer1.8
HighScaleKey/ValueDatabase
CouchbaseMobile1.0OfflineDataAvailabilityAuto-synchronizaLon
CouchbaseServer3.0
Mission-CriLcalScale&PerformanceSimplifiedAdministraLonImprovedHA/DR&Security
CouchbaseServer4.0SQL-likeQuerieswithNewSecondaryIndexing
MulL-DimensionalScalingArchitectureImprovedSecurity
CouchbaseServer2.0DocumentExtensions
NewXDCR
CouchbaseServer2.1EnhancedSecurity
HA/DR
CouchbaseServer2.2ImprovedXDCR
AdvancedStorageEngine
©2015CouchbaseInc. 7
RecentAdvances–4.0
▪ CouchbaseServer4.0– QueryandIndexing:
• N1QLandNewGlobalSecondaryIndexing– EnhancedClusterManagement
• NewClusterZoneswithMulL-dimensionalScaling(MDS)– EnhancedIntegraLons
• NewODBC/JDBCDriverswithconnecLvitytoETLandBITools• NewNaLve,SparkStreaming,SparkSQLandKaoaIntegraLon
– EnhancedSecurity• AudiLngandEnterpriseLDAPIntegraLon
– EnhancedHighAvailability• FasterXDCRandFilteringXDCR
©2015CouchbaseInc. 8
RecentAdvances–4.1
▪ FasterQueries– PreparedSQLExecuLonandCoveringIndexes
▪ DML–DataManipulaLonwithN1QL– BulkDataOperaLonswithINSERT,UPDATEandDELETE
©2015CouchbaseInc. 9
PreparedExecuEonandCoveringIndexes[Availablein4.1]
>3xfasterquerieswithpreparedexecuEonandcoveringindexes
QueryExecutionSteps
PreparedExecution
Ad-HocExecution
Parse CPUIntensiveSteps
Plan CPUIntensiveSteps
Scan
Fetch
Join
Filter
Aggregate
Sort
Offset
Limit
Project
NetworkIOIntensive NetworkIOIntensive
ExecuL
onTim
e
©2015CouchbaseInc. 10
SimplifiedBatchDataUpdateswithN1QL[Availablein4.1]
▪ FullDMLSupportforSQLBasedUpdates– SimplifiedDataMutaLonsinBulk
• INSERTINSERT INTO bucket(key,value) VALUES(“doc_key”,{…});
• UPDATEUPDATE bucket SET attribute = … WHERE type=“document type”;
– Sample:CreateaCopyofaBucket
INSERT INTO new_bucket(key _k, value _v) SELECT meta().id _k, _v FROM original_bucket _v;
CouchbaseServerArchitectureOverview
©2015CouchbaseInc. 12
Service-BasedArchitecture
QueryandIndexServicestobuildricherappsUnifiedProgrammingInterfaceandAdministraLon
©2015CouchbaseInc. 13
Scale-uporScale-out
MulL-DimensionalScaling–IndependentScalingandWorkloadIsolaLon
What’sNewin4.5
©2015CouchbaseInc. 15
Couchbase4.5-KeyFeatures
• Integratedqueryworkbenchwithauto-schemainference• ExtendedJOINsyntax• Integratedfull-textsearchqueries[preview]
EASIER,MOREEFFICIENTQUERYING
• EfficientRead/Writeofdatastructureswithsub-documentAPI
SIMPLER,MOREADVANCEDDATAACCESS
• FasterIndexingwithMemory-opEmizedindexes• ArrayindexingforfasterN1QLqueriesonarraysinJSON• ImprovedindexwriteperformancewithForestDB’scircularwrites
FASTER,MOREPOWERFULINDEXING
• Role-based-accesscontrolforadministrators&X.509cerLficatesforencryptedcommunicaLon• Queryprofilingandmonitoring• Fasterbackupandrestore
BETTER,MORECOMPREHENSIVEADMINISTRATION
©2015CouchbaseInc. 16
SimplifiedDevelopment
©2015CouchbaseInc. 17
QueryWorkbenchwithAutoCompleteforN1QL
NewIntegratedN1QLQueryWorkbenchTool(QWT)
N1QLEditorwithAuto-CompleLon&QueryHistory
DataWindowwithVisualTable,TreeandJSONOutput
BucketAnalyzerwithSmartSchemaInference
©2015CouchbaseInc. 18
AutomaEcSchemaInferenceandAuto-CompleEon
▪ SmartSchemaInference:AutomaLcallyexaminessampleofdocumentsfrombucketsanddiscoversyourschema– DocumentTypeDistribuLon– ListofAFributes– DataTypesforAFributes
BucketAnalyzerinWebConsole CBQCommandlineShell
©2015CouchbaseInc. 19
Auto-CompletewithQueryEditor
▪ Auto-CompleLoninN1QLeditorprovides– MatchingN1QLKeywords– FieldNamesfromInferredSchema– Addbackquotesfornameswithhyphen
©2015CouchbaseInc. 20
ExtendedJOINs
▪ ExtendedJOINsforflexiblecrossdocumentoperaLons– FasterJOINOperaLonswithONKEY…FORsyntax
SELECT * FROM `beer-sample` beer
JOIN `beer-sample` brewery ON KEYS beer.brewery_id
WHERE beer.type = "beer" AND brewery.type = "brewery" AND brewery.state =
"California";
JoinMeta(brewery).id=beer.brewery_id
IndexScan+Filtertype=“beer”
IndexScan+Filtertype=“brewery”
FilterBrewery.state=“California”
SELECT * FROM `beer-sample` brewery
JOIN `beer-sample` beer ON KEY beer.brewery_id FOR
brewery WHERE beer.type="beer" AND brewery.type="brewery" AND brewery.state="California";
Joinbeer.brewery_idin[Meta(brewery).id]
IndexScan+Filtertype=“beer”
IndexScan+FilterType=“brewery”
brewery.state=“California”
4.1
4.5
©2015CouchbaseInc. 21
NewFlexibleJOINswithN1QL
7XfasterquerywithflexibleJOIN
©2015CouchbaseInc. 22
Full-textSearchService[Preview]
Couchbase Query Couchbase Search Optimized for search queries Optimized for small queries
Many queries Each touches attribute data Search queries Each touches text within JSON
Oneplaeorm–Trulyintegratedsemi-structureddatamanagement
©2015CouchbaseInc. 23
Full-textSearchService[Preview]
SearchtextdatainyourCouchbasedocuments▪ Powersearchboxesfordocumentcontents,websites,blogposts,Tweets,LckeLngandcatalogapps
©2015CouchbaseInc. 24
Full-textSearchService[Preview]
▪ Benefits– Fullycapablesearchservice,integratedinCouchbase– ImmediatelyfamiliartousersofElasLcsearchandSolr– CouchbaseadministraLonandmanagement
• AutomaLcallyparLLoned,distributedandreplicated– Noexternalsearchdependencies
• Noneedtoprovisionhostsandinstallextraso|ware• Avoiddatatransfersetupandsyncmanagement
©2015CouchbaseInc. 25
ImprovedPerformanceandScale
©2015CouchbaseInc. 26
EfficientSub-DocumentOperaEons
DocumentMutaEons:• AtomicOperateon
individualfields• IdenLcalsyntaxbehaviorto
regularbucketmethods(upsert,insert,get,replace)
• SupportforJSONfragments.• SupportforArrayswith
uniquenessguaranteesandordinalplacement(front/back)
©2015CouchbaseInc. 27
FasterKeyBasedOperaEons!
10-14XFasterDocumentRead&UpdateOperaLon
95% Get Latency 95%SetLatency
95%Get&SetLatencyMeasured(Msecs)onsingleINTfieldupdatewithsub-documentvsfull-documentcall
©2015CouchbaseInc. 28
Query:FindtheTop10MostAcLveUsersforMonthofAug
…
Q1AcLve@Jan2015
Q1:ExecuLonPlanonNnodes1. ExecuteQ1onN1QLServicenode2. ScanindexonIndexServicenode
12 …
Q1AcLve@Jan2015
Q1:ExecuLonPlanonNnodes1. Scaier:ScaFerQ1toNnodes2. Gather:GatherNresultsfromNnodes3. Finalize:Re-AggregateQ1on1node
12 2 2 2 2
3
INDEXONCustomer_bucket(customer_name,total_logins.jan_2015)WHEREtype=“customer_profile”;
SELECTcustomer_name,total_logins.jan_2015FROMcustomer_bucketWHEREtype=“customer_profile”ORDERBYtotal_logins.jan_2015DESCLIMIT10;
GlobalIndexes(GSI) LocalIndexes(Views)
©2015CouchbaseInc. 29
GlobalSecondaryIndexes
NewStorageOpEonsforGlobalSecondaryIndex1. Memory-OpLmizedGlobalSecondaryIndexes(MOI)
• OpEmizedforMemory:smallmemoryfootprint,opLmizedforlowestlatencyqueries• FasterIndexing:freshindexesunderheavymutaLonswithlockfreeindex
maintenance• PredictablelowlatencywithQueryandKeyBasedOperaEons,eveninpresenceof
largenumberofindexes
2. StandardGlobalSecondaryIndexes
• OpEmizedforStorage+Memory:efficientspilltodiskwithForestDBasthestorageengine
• AdvancedIOPerformance:newcircularwritesthatminimizecompacLonoverheadofappendonlywrites
©2015CouchbaseInc. 30
EfficientIOwithCircularWritesinStandardGSI
▪ ReducedDiskIORequirements– Append-OnlyWriteswithfrequentfullcompacLon(Version4.1&Earlier)– Circular-ReuseWriteswithreducedfullcompacLons(Newin4.5:)
• Reusedorphanedblocksintheindexfile• Reducetheneedforfrequentfull-compacLonsoftheindexfile
IndexMutaLon
Append-OnlyWriteCircularWrite
FileforGlobalSecondaryIndexes
IndexMutaLon
IndexMutaLon
©2015CouchbaseInc. 31
ArrayIndexes--FasterSearchforNestedData
▪ EfficientlyIndexArraysCREATE INDEX … ON bucket(ARRAY i FOR i IN b END, a)
USING GSI;
▪ SampleQueries
SELECT * FROM default
WHERE ANY i IN b SATISFIES i<=1 END;
SELECT * FROM default X
UNNEST X.b Y
WHERE y<=1;
insertintodefault(key,value)values("1",
{"a":1,"b":[1,2],"c":{"ca":[1,2,3],"cb":4},"d":[
{"da":5,"db":6,“dc”:6.5},{"da":7,"db":8}],
"e":[{"ea":9,"eb":[10,11,12]},{"ea":13,"eb":[14,15,16]}],
"f":[[17,18],[19,20,21]]
});
©2015CouchbaseInc. 32
HigherAvailability
©2015CouchbaseInc. 33
EnterpriseBackupandRestore
>10xFasterBackups▪ BeFerDataProtecLonwithEnterpriseBackupRestore
– Scaletolargerdatasets– Fastbackupsandrestores– BeFerConsistencyinbackupdata– Resilienttofailures/TopologyChanges
©2015CouchbaseInc. 34
SimplifiedSecurityCompliance
©2015CouchbaseInc. 35
AdministraEveRoleBasedAccessControl
▪ AdministraLveRBACenablessegregaLonofadminduLes▪ AdministraLveuserscanbemappedtoout-of-the-boxroles▪ SeparaLonofsecurityadministraLonfromfulladministraLon▪ Rolespre-definedwithpermissionsforspecificresources
– FullAdmin– ClusterAdmin– BucketAdmin– ViewAdmin– XDCRAdmin
FullAdmin
ClusterAdminBucketAdminViewAdminXDCRAdmin
©2015CouchbaseInc. 36
EasyDevOps
©2014CouchbaseInc.
Achievingscale&availabilitywithCouchbase
©2014Couchbase,Inc. 37
▪ ScaleclusteronlinewithgrowingapplicaLonneeds,ondemand
▪ BuildalwaysavailableappswithreplicaLon&failover
▪ Removeprogrammingcomplexitybypushingshardingtothedatabase
©2014CouchbaseInc.
AchieveGlobalDataDistribuEonandHA/DR
38
Built-inCrossDataCenterReplicaLon(XDCR)
©2015CouchbaseInc. 39
Recap
• Integratedqueryworkbenchwithauto-schemainference• ExtendedJOINsyntax• Integratedfull-textsearchqueries[preview]
EASIER,MOREEFFICIENTQUERYING
• EfficientRead/Writeofdatastructureswithsub-documentAPI
SIMPLER,MOREADVANCEDDATAACCESS
• FasterIndexingwithMemory-opEmizedindexes• ArrayindexingforfasterN1QLqueriesonarraysinJSON• ImprovedindexwriteperformancewithForestDB’scircularwrites
FASTER,MOREPOWERFULINDEXING
• Role-based-accesscontrolforadministrators&X.509cerLficatesforencryptedcommunicaLon• Queryprofilingandmonitoring• Fasterbackupandrestore
BETTER,MORECOMPREHENSIVEADMINISTRATION
©2015CouchbaseInc. 40
Thankyou!
QuesLons?