반응형

DB 71

insert into on duplicate 있을 경우 update 없을 경우 insert

데이터 유무에 따라서 알아서 insert / update를 처리할 수 있다. 만약 없다면 select 하여 결과 값에 따라서 insert를 해주거나 update를 해줘야 하는데 소스코드가 길어진다. mysql에서는 이런 경우 insert into on duplicate를 통해서 처리할 수 있다. 우선 전제 조건은 인덱스로 unique 키가 설정되어 있어야 한다. 그리고 구문은 INSER INTO 테이블 ( 컬럼1, 컬럼2, 컬럼3 ..) VALUES ( 값1, 값2, 값3 ) ON DUPLICATE KEY UPDATE 업데이트 컬럼1 = 업데이트 될 컬럼1 값 ... ,업데이트 컬럼n = 업데이트 될 컬럼n 값 으로 처리하면 된다.

DB/mysql 2023.04.27

Maria Db 윈도우에 설치하기

NOSQL만 사용하다가 개편하면서 RDB로 바뀌게 되었다. NOSQL은 개발하면서 내가 직접 DB설계를 하면서 처리할 수 있었지만 RDB의 경우 회사 방침상 개발 DB라도 DBA를 통해 작업을 해야 해서 일단 로컬에 설치하고 개발 진행을 해야 했다. 우선 홈페이지에 들어가서 나의 컴퓨터 상황가 맞는 버전을 설치하기로 했다. https://mariadb.org/download/?t=mariadb&p=mariadb&r=10.11.2 Download MariaDB Server - MariaDB.org REST API Release Schedule Reporting Bugs … Continue reading "Download MariaDB Server" mariadb.org 다운로드 버튼을 클릭하여 다운로드하자..

DB/mariaDB 2023.02.27

윈도 로컬 개발 환경 카우치베이스 연동(SDK) 설정 (아파치, php, couchbase, windows)

윈도 로컬 개발에 카우치베이스를 연동하고자 한다. 현재 구성은 php7.2 아파치 구성이다. 우선 php 카우치 라이브러리를 받자 http://pecl.php.net/package/couchbase PECL :: Package :: couchbase pecl.php.net 나는 2.6.2 버전을 받았다. 압축을 풀면 아래와 같은 파일들이 보인다. php_couchbase.dll 은 설치된 php 디렉터리의 ext 디렉터리에 넣고 libcouchbase.dll은 C:\Windows\System32 C:\Windows\SysWOW64 두 곳에 넣었다. 그리고 php.ini 파일에 extension=php_couchbase.dll 추가 후 아파치 재시작 php_info() 함수를 실행해보면 추가된 것을 확인할..

DB/Couchbase 2020.07.10

bucket index(버킷 인덱스) 생성

인덱스를 생성해야 속도 향상을 가져갈 수 있고 N1QL 쿼리를 사용하려면 필수이다. 인덱스를 생성하지 않고 실행 시 No index available on keyspace that matches your query. Use CREATE INDEX or CREATE PRIMARY INDEX to create an index, or check that your expected index is online 라는 에러를 출력한다. 인덱스 생성 CREATE PRIMARY INDEX `testbucket_primary_idx` ON `testbucket`; 생성되었다. 만일 Status가 create 일 경우는 build를 해줘야지 된다. 빌드 BUILD INDEX ON testbucket (testbucket_p..

DB/Couchbase 2020.07.10

카우치베이스(Couchbase) 뷰(VIEW) 만들기

간단하게 뷰를 만들어보겠다. 데이터는 EPL 몇몇 축구팀 선수 데이터를 활용하겠다. 맨체스터 유나이티드 선수 데이터 https://namu.wiki/w/%EB%A7%A8%EC%B2%B4%EC%8A%A4%ED%84%B0%20%EC%9C%A0%EB%82%98%EC%9D%B4%ED%8B%B0%EB%93%9C%20FC#s-2.1 맨체스터 유나이티드 FC - 나무위키 맨유 엠블럼 한 가운데 붉은 악마가 있듯, 팬들의 애칭도 레드 데블스다. 맨체스터 유나이티드 공식 홈페이지에 기재된 맨유 레전드. 밑 내용의 7번 선수들 중 일부 역시 이에 해당된다.[17] 클럽� namu.wiki Create Document를 클릭하자 Document ID는 유니크해야 하기 때문에 team명 약자 + 백넘버로 하겠다. 데헤아를 예..

DB/Couchbase 2020.06.16

카우치베이스(Couchbase) 버킷(Bucket) 생성하기

버킷(Bucket) 생성 버킷을 생성해보겠다. Create New Data Bucket을 클릭하자. 아.... 램 사이즈를 작게 설정했더니.. 부족하다.. 어쩔 수 없이 샘플 버킷을 삭제하고 생성해야겠다. 버킷명을 클릭하여 상세정보로 가서 Delete 버튼을 클릭하자. 버킷 삭제는 신중히.. Delete!! 삭제되었다. 다시 생성해보자. 버킷명은 "testbucket"으로 하고 ram 은 테스트 환경이니 최솟값인 100MB으로 하겠다. 생성되었다. 아직 생성중이라 Data Nodes 색상이 노란색이지만 곧 녹색으로 바뀐다. 생성 완료! 이제 GUI 콘솔에서 데이터를 생성, 조회, 삭제해보겠다. 우선 생성된 버킷의 오른쪽에 있는 Documents를 클릭하자. 선택한 버킷의 Documents를 볼 수 있다...

DB/Couchbase 2020.06.11

카우치베이스(Couchbase) 중요(view, bucket) 용어 설명

설치까지 완료하였고 이글에서는 카우치베이스 중요한 용어들에 대해서 설명하겠다. Key-Value 카우치베이스는 NoSQL이며 key-value 타입의 Document DB라고 설명하였다. 저장되는 방식은 JSON 도큐먼트가 저장된다. key는 최대 250 Byte, value의 경우 카우치베이스 버킷은 20MB Memcached 방식의 버킷은 1M까지 저장이 가능하다. 이외에도 3가지 메타데이터가 같이 저장된다. 첫 번째 CAS이며 이것은 데이터에 타임스탬프이며 여러 클라이언트가 한 번에 access 한 경우 일관성 문제를 해결해준다. 두 번째 TTL(time to live) 데이터 유효 시간을 정의하며 시간이 지나면 삭제된다. 세 번째 Flag 이 값은 카우치베이스 클라이언트에서 사용되는 메타데이터이다..

DB/Couchbase 2020.06.10

카우치베이스(Couchbase) Web Console

Couchbase Console에서 GUI 타입의 관리 도구 통해 시스템 정보와 카우치 데이터를 확인할 수 있다. 콘솔을 시작하려면 윈도 시작프로그램에 설치된 Couchbase Console을 클릭하여 시작하자. 웹브라우저가 실행되며 웹 콘솔 페이지가 열린다. 계정은 설치 후 설정 시 입력한 계정 정보(Administrator)를 사용한다. Overview 탭에서는 서버 상태를 확인할 수 있다. Server Nodes탭에서는 이중화 설정을 할 수 있다. 우선 한대만 설치하였기에 싱글로!! Data Buckets 탭에서는 현재 생성된 버킷 목록을 볼 수 있고 생성할 수 있다. Documents 버튼을 통해서 실제 데이터를 볼 수 있고 Views를 통해 생성되어 있는 View를 관리할 수 있다. Docume..

DB/Couchbase 2020.06.09

카우치베이스(Couchbase) 설정하기

카우치베이스 설정 Setup 버튼을 눌러 설정 화면으로 넘어가자. 새로운 Cluster를 생성할 것인지 아니면 기존 구성에 Cluster를 새로 추가하여 JOIN 할 것인지를 선택하자. 나는 물론 싱글 새로운 구성이니 Start a new cluster를 진행하겠다. 메모리 부분은 자신의 리소스 상황에 맞게 설정하자. 상용이라면 최대로하고 개발은 1GB 정도로 설정하자. 카우치베이스에서 저장되는 key와 데이터는 모두 메모리에 로딩되기 때문에 충분하지 않으면 재 성능을 내기 어렵다. 기존 구성에 추가하려면 기존 환경정보를 입력해줘야 한다. 다시 새로이 구성하기 위해 Next버튼을 클릭하면 Sample buckets 설정이 있다. 넘어가도 되고 추가해도 상관없다. Buckets이란 데이터를 담을 수 있는 ..

DB/Couchbase 2020.06.08

카우치베이스(Couchbase) 설치하기

회사에서 업무변동이 있어 담당하게 된 서비스 DB가 카우치베이스를 사용하고 있어 간략하게 카우치베이스에 대해서 정리하고 local 환경을 구성해보도록 하겠다. 카우치베이스란? 고성능 NoSQL(비 관계형)로 JSON Document에 저장하는 Document DB이다. 특징 1. 모바일 Device Sync 카우치 DB 계열은 iphone이나 android계열 device에 탑재할 수 있고 서버와 Sync 할 수 있다. 2. XDCR(cross data center replication) 기능을 통해 데이터 센터간 복제가 가능하다. 3. Indexing , Ordering, Grouping, Join 지원한다. 일반적인 NoSQL은 key-value 형식으로 지원이 대부분 불가능하다. 4. 확장이 쉽다...

DB/Couchbase 2020.06.08
반응형