Database
[Database] RDBMS vs NoSQL (관계형DB vs 비관계형DB)
[Database] RDBMS vs NoSQL (관계형DB vs 비관계형DB)
2023.09.17요즘 NoSQL을 사용하는 기업들이 많아지고 있다. Facebook, Twitter, Netflix, Instagram, Apple의 iCloud 등 많은 기업들이 NoSQL을 채택했다. 왜 NoSQL을 사용할까? 그럼에도 불구하고 SQL(관계형DB)는 여전히 주류 DB로 통용된다. 두 데이터베이스는 무엇이 다르고 어떤 경우에 무엇을 채택해야 할까? ✅ Database, DBMS 📍 Database 관련된 데이터의 모임 또는 집합 정형화되고 조작 가능한(처리하기에 용이한) 컴퓨터에 저장된 데이터의 모임 특정 목적을 위해 계산, 저장, 검색, 정렬 등의 "데이터 처리" 작업을 수행 한마디로, 어떤 특정 조직의 응용 시스템에 사용되는 조작 가능한 저장 데이터의 모습 📍 DBMS DBMS, DataBase M..
[Elasticsearch] Elasticsearch에 Array 타입이 있나?
[Elasticsearch] Elasticsearch에 Array 타입이 있나?
2023.07.24없다. opensearch를 쓰고있지만 관련 문서는 Elasticsearch Docs에만 있어서 일단 ES로 표기하지만.. 오늘 테스트해본 바로는 opensearch에도 동일하게 적용된다. 애초에 거의 비슷하니.. Elasticsearch에는 Array 데이터 타입이 없으나, 0개나 N개를 포함할 수 있다. Array 형태로 삽입하는것은 문제가 없으나, 그 원소들은 모두 동일한 데이터 타입을 가져야 한다. String Array : [ "one", "two" ] Integer Array : [ 1, 2 ] 2차원 Array : [ 1, [ 2, 3 ]] 는 [ 1, 2, 3 ] 와 동일하게 취급한다. Object Array : [ { "name": "Mary", "age": 12 }, { "name": ..
[Elasticsearch/Opensearch] Nested Field type
[Elasticsearch/Opensearch] Nested Field type
2023.07.18💡Object field type PUT testindex1/_doc/100 { "patients": [ {"name" : "John Doe", "age" : 56, "smoker" : true}, {"name" : "Mary Major", "age" : 85, "smoker" : false} ] } 평범한 경우라면 위와 같이 nested object가 object field type으로 자동으로 매핑될 것이다. 위 데이터가 저장되면, object는 flat 해진다. { "patients.name" : ["John Doe", "Mary Major"], "patients.age" : [56, 85], "smoker" : [true, false] } 여기서 age가 75 이상이고, 흡연자인 환자를 검색하려면..