이 글에서는 원격 Elasticsearch 클러스터에 연결되는 Kibana 로컬 인스턴스를 구축하는 전체 과정을 단계별로 안내합니다. ObjectRocket for Elasticsearch 서비스에는 무료 호스팅형 Kibana가 포함되어 있지만, 로컬 머신에서 직접 Kibana를 실행하면 더 큰 유연성을 얻을 수 있는 경우도 많습니다. 또한 호스팅형 Kibana를 제공하지 않는 환경이나 서비스를 사용 중이라면 이 가이드를 통해 손쉽게 자신의 컴퓨터에서 Kibana를 실행할 수 있습니다.Kibana를 로컬에서 실행하는 이유다른 Kib
이 글에서는 Redis의 가장 널리 쓰이는 활용 사례 다섯 가지를 살펴보고, 각 사례에서 Redis가 선택되는 이유와 특징을 자세히 설명합니다.1. 세션 캐시(Session Cache)Redis의 가장 직관적인 활용 사례는 바로 세션 캐시입니다. Memcached 같은 다른 세션 저장소와 비교했을 때 Redis의 가장 큰 장점은 영속성(Persistence)을 지원한다는 점입니다. 캐시 데이터의 일관성이 치명적이지 않은 경우가 많지만, 사용자의 장바구니 세션이 갑자기 모두 사라진다면 아무도 기뻐하지 않겠죠?다행히 Redis는 오랜
Kibana는 기본적으로 Elastic의 타일 서비스가 제공하는 지도 위에 지리 데이터를 표시하는 기능을 갖추고 있습니다. Kibana의 지도 기능을 맛볼 수 있는 훌륭한 출발점이지만, X-Pack 라이선스가 없으면 최대 줌 레벨이 제한됩니다. 예를 들어 ObjectRocket의 본거지인 미국 텍사스주 오스틴 지역의 최대 줌 화면은 아래와 같습니다.다행히 Kibana가 다른 타일 서비스나 WMS 호환 매핑 서버를 사용하도록 설정하는 것은 생각보다 어렵지 않습니다.다른 지도 서비스를 사용해야 하는 이유Elastic 타일 서비스는 모든
최신 NoSQL 데이터 스토어가 화려하게 주목받고 있지만, 관계형·SQL 기반 데이터베이스는 여전히 건재하며 널리 활용되고 있습니다. 실제로 함께 작업하는 거의 모든 고객 환경에서 MongoDB, Redis, Elasticsearch와 더불어 MySQL, PostgreSQL 또는 MS SQL Server가 공존하고 있습니다. 관계형 데이터베이스의 데이터를 다른 데이터 스토어로 복제하는 가장 쉬운 방법에 대한 문의도 흔합니다. 마이그레이션을 위해서일 수도 있고, 관계형 데이터에 전문(Full-text) 검색이나 시각화 같은 기능을 추
MongoDB는 버전 3.2부터 모든 인덱스에 대한 사용 통계를 추적하고 있습니다. 이 통계에 접근하려면 MongoDB에서 제공하는 $indexStats 애그리게이션 파이프라인 스테이지를 활용하면 됩니다. 다음은 MongoDB에서 사용하지 않는 인덱스를 찾을 때 반드시 알아두어야 할 여섯 가지 고려사항입니다.예를 들어, 아래 명령어를 실행하면 test.foo 컬렉션의 인덱스 통계를 확인할 수 있습니다.db.foo.aggregate( [ { $indexStats: { } } ] )$indexStats 출력 결과에 대한 상세한 설명은
이전 블로그 포스트에서 MongoDB를 활용한 대규모 확장(scaling)의 기본 개념을 소개한 바 있습니다. 확장은 대체로 사후 대응적인 성격을 띠기 때문에 애플리케이션 성능 저하, 심한 경우 서비스 전면 중단 같은 문제로 이어지곤 합니다. 이런 문제는 결국 고객 경험을 악화시키고 비즈니스에도 부정적인 영향을 미칩니다. 그렇다면 수익에 타격을 주지 않으려면 언제 MongoDB 데이터베이스를 확장해야 할까요?애플리케이션에 맞는 임계값 찾기애플리케이션 사용량 증가와 트래픽 급증 속에서도 안정적으로 운영되려면, 프로덕션 시스템에 확장
지난 블로그 글에서는 MongoDB 확장이 필요한 시점을 다루었습니다. 이번 글에서는 MongoDB를 실제로 확장하는 방법에 초점을 맞춰 살펴보겠습니다.MongoDB 3.0 버전부터 WiredTiger가 기본 스토리지 엔진으로 도입되면서, MongoDB는 두 가지 확장 방식을 제공하게 되었습니다. 바로 수직적 확장(Scale-Up)과 수평적 확장(Scale-Out)입니다. 두 방식 모두 자세히 살펴볼 가치가 충분합니다.수직적 확장(Scale-Up)수직적 확장은 CPU의 개수와 종류, RAM 용량, 디스크 공간 등 컴퓨팅 자원 자체를
데이터베이스 기술은 끊임없이 발전하고 있습니다. 훌륭한 DBA(데이터베이스 관리자)가 되기 위해서는 지속적인 학습과 성장이 필수인데요. ObjectRocket의 전문 DBA들이 실무에서 직접 실천하는 역량 강화 노하우 9가지를 정리했습니다.코딩 실력을 꾸준히 갈고닦으세요기술 직군이라면 누구나 알다시피, 코딩 역량이 높아질수록 업무 수행에 큰 도움이 됩니다. 그렇다면 어디서부터 시작해야 할까요? 가장 능숙하게 다루는 데이터스토어에 맞는 언어를 선택하는 것이 좋습니다. 예를 들어 MongoDB를 주로 다룬다면 파이썬(Python)이 잘
이전 블로그 포스트에서는 사무실에 있는 콜드브루 커피 통(케그)의 무게를 측정해 재고가 부족해지면 Slack으로 알림을 보내 리필 시기를 알려주는 방법을 소개했습니다.두 편으로 구성된 시리즈의 두 번째 글인 이번 포스트에서는 그 저울을 직접 만든 과정을 공유합니다. 핵심 목표는 시간과 비용을 최소한으로 들이는 것이었는데, 마침 우리 요구사항에 맞는 제품이 시중에 없었습니다.Elasticsearch 케그 시스템의 요구사항가장 먼저 프로젝트의 요구사항을 정리했습니다:저렴할 것 (100달러 미만)유지 관리가 최소화될 것원격으로 관리 가능
스키마 검증, 필드 오타 디버깅, 혹은 설정되어서는 안 되는 필드를 찾으려면 MongoDB 컬렉션에 어떤 키들이 존재하는지 전체적으로 파악해야 합니다.ObjectRocket을 비롯한 많은 MongoDB 관리형 서비스(DBaaS) 업체는 UI에서 손쉽게 이 작업을 수행할 수 있는 기능을 제공합니다. 또한 숙련된 MongoDB 사용자라면 대개 Mongoose(Node.js용)나 Mongoengine(Python용) 같은 ODM(Object-Document Mapper)을 먼저 도입해 애플리케이션에 일관된 스키마를 적용하고 오타 발생을
MongoDB는 범용 목적으로 널리 사용되는 NoSQL 데이터베이스 중 하나로, C++ 기반으로 개발된 오픈소스 문서(document) 지향 데이터베이스입니다. 이 글에서는 MongoDB Atlas를 활용해 클라우드 환경에서 데이터베이스를 구축하고 연결하는 전 과정을 단계별로 살펴봅니다. 이 가이드에서 다루는 내용 클라우드에서 클러스터(Cluster) 생성하기 MongoDB Compass 설치하기 Compass를 사용하여 MongoDB 클러스터에 연결하기 데이터베이스 생성하기 MongoDB 핵심 용어 정리 본격적으로 시작하기
이 글에서는 AlwaysOn 가용성 그룹(Availability Group) 환경에서 TDE(투명 데이터 암호화, Transparent Data Encryption)를 설정하는 데 필요한 세부 단계를 하나씩 살펴봅니다. 소개 SQL Server는 물리적 파일을 암호화하여 고객의 민감한 데이터를 보호할 수 있도록 TDE(투명 데이터 암호화) 기능을 제공합니다. TDE는 SQL Server 2008에서 엔터프라이즈 에디션 전용 기능으로 처음 도입되었습니다. TDE를 지원하는 SQL Server 에디션 SQL Server 2008, 2
메모리 튜닝(Memory Tuning)은 시스템의 여유 메모리를 Oracle의 다양한 메모리 구성 요소에 분배하거나 재할당하는 작업입니다. 주로 Oracle 쿼리 성능 최적화에 활용되며, 오늘날 많은 기업에게 데이터베이스 성능은 핵심 과제로 떠오르고 있습니다. 이 글에서는 데이터베이스 메모리를 효과적으로 튜닝하여 고성능 데이터베이스 환경을 구축하는 방법을 설명합니다. 메모리 튜닝에는 여러 가지 접근 방식이 있습니다. OS 레벨 프로세스 튜닝, CPU 튜닝, RAM 튜닝, 데이터베이스 튜닝 등이 대표적입니다. 이 글에서는 그중에서도
MSSQL 서버 – CLE(셀 수준 암호화) 데이터베이스 마이그레이션 완벽 가이드이 글에서는 CLE(Cell Level Encryption, 셀 수준 암호화)가 적용된 환경에서 데이터베이스를 복원하고 암호화된 데이터를 정상적으로 조회하기 위해 필요한 단계를 자세히 살펴봅니다.데이터 보안은 데이터베이스 관리에서 가장 중요한 요소 중 하나입니다. MS SQL Server에서 민감한 데이터를 암호화하는 방법으로는 CLE, TDE(투명한 데이터 암호화), Always Encrypted 등 여러 가지가 있습니다. 그중에서도 인증서나 키를 사
TimesTen은 Oracle 데이터베이스의 성능을 획기적으로 끌어올릴 수 있는 Oracle 제품입니다. TimesTen은 메모리 최적화를 넘어 높은 처리량(throughput)과 내구성을 보장하며, 확장성까지 갖추고 있습니다. 특히 성능에 민감한 애플리케이션에서 최소한의 응답 시간을 제공합니다. 기존의 관계형 데이터베이스와 달리, TimesTen은 전체 데이터가 RAM에 상주하는 방식으로 높은 효율성을 실현합니다. TimesTen의 역사 1994년 HP Labs에서 개발 시작 HP의 OpenCall 솔루션에 탑재 1996년 벤
이 가이드를 따라 하면 Oracle Cloud Infrastructure(OCI)에서 데이터베이스를 손쉽게 구성하고 연결할 수 있습니다. 소개 전체 과정은 크게 다음 세 단계로 구성됩니다. OCI에서 SSH 키 페어 생성 공용 서브넷에 데이터베이스 생성 VM DB 시스템에 접속 사전 준비 사항 시작하기 전에 아래 항목들이 준비되어 있어야 합니다. Oracle Cloud 계정 (무료 체험판 또는 유료 버전) 가상 머신(VM) 또는 베어 메탈(BM)을 위한 네트워크 구성 완료 공용(Public) 서브넷 보안 목록(Security
이 글에서는 Oracle Database 19c 환경에서 TDE(Transparent Data Encryption, 투명 데이터 암호화)를 활성화하고 자동 로그인 월렛(Auto Login Wallet)을 구성하는 전체 과정을 단계별로 살펴봅니다. Oracle 19c에서 자동 로그인 월렛을 구성하려면 먼저 pfile 또는 spfile에 필요한 파라미터를 설정해야 합니다. 1단계. ASM에 월렛(Wallet) 폴더 생성 필요한 경우 월렛용 디렉터리를 새로 생성합니다. 월렛 디렉터리는 일반적으로 ASM 또는 $ORACLE_BASE/ad
Oracle Internet Directory(OID)란 무엇인가?Oracle Internet Directory(OID)는 외부 Oracle 데이터베이스를 사용하여 데이터를 저장하고, Oracle 애플리케이션에 싱글 사인온(SSO) 솔루션을 제공하는 경량 디렉터리 액세스 프로토콜(LDAP) 서버입니다.OID의 주요 특징은 다음과 같습니다.대규모 애플리케이션 환경에서도 뛰어난 성능을 제공합니다.전송 중인 데이터부터 저장소 및 백업에 이르기까지 모든 계층에서 보안을 보장하는, 가장 안전한 디렉터리 서비스입니다.스토리지 및 동기화 서비스
대규모 데이터베이스 환경에서는 스냅샷을 생성하지 않고 백업 파일로 구독을 초기화하는 방식으로 트랜잭션 복제를 설정하는 것이 효율적입니다. 이 글에서는 그 상세한 절차를 단계별로 살펴보겠습니다. 소개 매우 큰 규모의 SQL Server 데이터베이스에 트랜잭션 복제(Transaction Replication)를 설정하는 것은 결코 쉬운 작업이 아닙니다. 일반적으로는 스냅샷 생성에 소요되는 시간과 스냅샷 폴더에 필요한 디스크 용량을 충분히 고려하지 않은 상태로 복제를 구성하는 경우가 많습니다. 초기 스냅샷 생성과 구독자(Subscribe
이 글에서는 MS SQL 데이터베이스의 백업 절차와 백업 유형의 종류, 그리고 실제 백업을 수행하는 단계별 방법까지 자세히 알아보겠습니다. 소개 MSSQL(Microsoft SQL Server)은 다른 애플리케이션이 필요로 하는 데이터를 저장하고 조회하는 기본 기능을 위해 구축된 관계형 데이터베이스 관리 시스템(RDBMS)입니다. 동일한 컴퓨터에서 실행할 수도 있고, 네트워크를 통해 다른 컴퓨터에서 실행할 수도 있습니다. MSSQL은 뛰어난 확장성을 갖춘 제품으로, 노트북 한 대부터 고성능 클라우드 서버 네트워크까지, 그리고 그 사