any는 or 연산자와 비슷해서 인자중 하나라도 True라면 True를 반환한다.
반면 all은 and 연산자와 비슷해서 인자 모두가 True여야 True를 반한한다
분산 데이터 처리에서 중요한 건 결국 확장성과 유연성(비구조화 하고도 넣기)이다. 일반적으로 객체 스토리지가 많이 사용되나 트랜잭션이 없고 값을 변경하는 게 아닌 덮어쓰는 형식이라서 변경이 빈번한 케이스에는 적합하지 않음
그래서 NOSQL이 사용 많이 됨
NOSQL은 크게 key value, wide column, document, search engine 등으로 나눌 수 있다.
key-value는 가장 단순한 형식으로 읽고 쓰기가 빠르고 분산 처리가 쉬움. dynamodb가 대표적인데 집계 기능은 거의 없다시피 해서 쿼리 엔진을 붙여서 사용하는 게 좋음.wide column은 스키마가 있는 RDB와 비슷함. 그러나 row마다 각기 다른 column과 자료형을 넣을 수 있는 특징이 있음. 대표적으로 cassandra가 있음. cassandra는 P2P 방식의 클러스터링으로 읽기 쓰기에 지연이 발생하면 곤란한 어플리케이션에 사용됨.Document 는 스키마가 없으며 객체 구조의 데이터를 자유롭게 넣을 수 있다는 장점이 있음. 데이터 처리의 유연성이 목적이며 대표적으로 mongodb가 있음. mongodb는 성능을 위해 신뢰성을 포기했다는 비판을 받기도 함.search engine은 역색인가 생명임. 보통 텍스트를 묶어서 풀 인덱스를 방지하는데 큰 효과가 있음. 검색용으로 안쓰고 장기적으로 데이터 저장하기에는 디스크도 많이 차지해서 실시간(Ad hoc) 분석에 주로 사용됨. 그래서 메세지 브로커에서 받아서 분석하는데도 용이하다고 함. 대표적으로 elastic search가 있음(비싸나 집계 기능도 짱짱함). elastic search를 도큐먼트 스토어로 쓸 정도로 **데이터 집계**에 용이함. 자체 쿼리 엔진도 집계 기능이 짱짱함샤딩 된 클러스터 안에서 레플리케이션이 일어남
