和OpenSearch比起来,OpenSearch Serverless
做了架构上的改动,它将index(ingest)
和query
分开,使用S3作为主存储。所以ingestion
和search
都可以单独的扩容:
另外,在使用OpenSearch Serverless
时,不需要给index设置replica和shard数量,大大简化了运维工作。
OpenSearch Serverless
主要有三个使用场景:
search
。跟传统的Elasticsearch一样time-series
。时序数据。跟search
类似比起来,它最大的区别就是不能更新index(POST index/_update
)vector engine
。向量数据OpenSearch Serverless
的计算能力是以OpenSearch Compute Unit(OCU)
来计的,一个OCU包括6G内存,一个CPU
当创建完collection
后,OpenSearch Serveless会有两个OCU,一个用于ingest
,另一个用于query
。为了保证高可用,它会在另一个az也创建standby,所以当创建完collection
后,默认初始化就有四个OCU。
Collection
可以类比于传统OpenSearch中的一个集群
即使serverless上没有活动,这四个OCU也会存活(为了应对后面有读写进来)。创建完第一个collection后,后面的collection
可以共享这些OCU,仅当在读写突增时才会创建新的OCU。
OpenSearch Serverless上的安全主要涉及以下四个部分:
Encryption policy
,相当于at-rest
加密,使用KMSNetwork policy
,控制集群能否被公网访问,或者只能从VPC访问Data access policy
,控制用户能执行哪些操作,比如只读/只写/创建索引/更新索引
等Authentication
,Opensearch Serverless
的认证有两种方式:一种是通过IAM Role / IAM User
,另一种是通过SAML。使用SAML的方式只能访问Dashboard,而第一种方式既能访问Dashboard,又能通过API访问OpenSearch。这四个概念在后面的实验中都会遇到,结合起来理解会更清晰