[질문] 데이터 저장형식 자체가 키-밸류 이면 일반 관계형데이터베이스의 인덱스와 같은 거 아닌가요? 별도로 인덱싱을 해야하는지요? 이럴경우 관계형의 속성이 밸류에 포함되어 인덱싱을 해야한다면 일반 데이터베이스보다 더 많은 스토리지가 필요하지 않나요?
time series의 clustered index를 제외하면 기본적으로 동일한 btree index이고 table의 column대신 document의 field에 indexing을 하는 것이라 RDB와 차이가 있는건 아닙니다
[질문] 몽고DB와 같은 문서 저장소는 조인을 다소 제한적으로 지원하며 데이터 구조의 동적인 특성 때문에 외래 키의 개념이 없어서 몽고DB의 데이터 모델링은 역정규화로 흐르는 경향이 있습니다. 그렇다면 엄격하게 테이블 사일로에 데이터를 유지하는 대응 방안이 있다면 무엇이 있을까요?
말씀하신대로 RDB수준의 relational consistency를 DB차원에서 지원하지는 않습니다. app data modeling이 결정적인 요소가 되는데 multi-doc의 경우 ACID transaction을 활용하시는 방법을 활용할 수 있습니다
[질문] 몽고디비는 모든 형태( 파일,디비,오브젝트 등)의 데이터를 처리 가능하나요
MongoDB의 필드는 기본적으로 Object 타입이고, Document 최대 크기인 16MB를 넘는 파일은 GridFS라는 것을 통해 저장이 가능한걸로 알고 있습니다.
MongoDB의 커뮤니티 버전에서는 시계열데이터베이스 지원이 안되나요?
5.0 버전부터 커뮤니티, 엔터프라이즈 다 지원되는 걸로 알고 있습니다.
[질문]트랜잭션 지원이 RDBMS 대비 미약하고 제공되는 MapReduce 작업이 Hadoop에 비해 성능이 떨어지는것으로 아는데 어떻게 개선이 가능할지요
Tx지원이 RDBMS에 비해 떨어진다기보다 최고 성능을 낼 수 있는 Oracle과 동일한 수준의 snapshot isolation tx을 지원하고 있습니다. 기본철학이 ACID Tx을 최소화 하는 것이지 성능의 문제는 아닙니다. 실제 TPC-C benchmark의 경우 innoDB기반의 타 RDB Tx에 비해 동일 h/w 성능에서 Tx은 두 배 이상의 성능 결과를 가지고 있습니다.
Hadoop은 EDW를 타겟으로 하는 MapReduce를 지원하는 솔루션입니다. 그에 반해 MDB는 ODS나 DW를 대신하는 것을 타겟으로 하기 때문에 비교자체가 의미가 없을 것 같습니다.
그 정도 수준의 데이터처리는 MDB의 타겟이 아닙니다.
[질문]데이터 업데이트중 장애발생시 데이터 손실 가능성이 있는것으로 아는데 이에 대한 보안점과 계획은 어떻게되는지요?
MDB은 design부터 분산 환경이기 때문에 하나의 node(논리적)는 기본적으로 3개의 물리 노드의 집합입니다. 한번에 두 개 이상의 물리 노드에 장대가 발생하기 전에는 downtime은 발생하지 않고, 물리 노드간 failover(보통 2초 내 수행)시에 application handover도 SDK driver차원에서 자동으로 이루어지고 있으며, 짧은 handover 동안 발생하는 write fail 의 경우도 driver차원에서 retryable write을 지원하고 있어 app 입장에서는 서비스 중단의 경험은 없다고 보셔도 무방합니다
[질문] 요즘 오픈 소스 보안 취약점이 엔터프라이즈 관점에서는 가장 민감한 이슈 중에 하나인데 몽고DB의 보안성이나 관리측면에서의 고려사항들은 어떤 것들이 있는지 궁금합니다.
MongoDB Enterprise나 MongoDB Atlas 는 엔터프라이즈 보안 수준을 제공하고 있고, ISO27001, SOC2, GDPR, HIPPA, FEDRamp 등 엄격한 보안 규정을 준수/인증을 제공합니다.
app-level encryption의 경우엔 다른 솔루션에선 지원하지 못하는 non-deterministic queryable encryption까지 지원하고 있어 더 높은 보안을 보장하고 있습니다
진동 센서와 같은 bandwidth 가 높은 아날로그 센서 데이터 시계열도 저장한 사례가 있는지 문의 드립니다.
진동 센서의 frequency가 어는 정도 높은 수준인지 모르겠지만
초단위 data injection까지 기본 처리가 가능하고, 더 높은 주기에서 성능에 문제가 우려되신다면 buffering을 통한 bulk write를 통해서 injection 성능을 높여 처리할 수 있습니다
[질문] Edge컴퓨팅의 로컬에서 중앙 클라우드의 서버와 통신을 SD-WAN 속도에 대한 QoS처리가 전용선 대비 어느 정도까지 가능한지 궁금합니다.