ARCHIVES 169

인수(argument)의 평가와 값

함수에 넘기는 어떤 값을 인수(argument)라고 하지요. 오늘은 인수로 어떤 종류의 값이 넘어가는지, 그리고 인수를 언제 평가(evaluation)하는지 살펴보도록 하겠습니다. 빠른 평가와 지연 평가 수식(expression)의 평가는 시점에 따라 빠른 평가(eager evaluation)와 지연 평가(lazy evaluation)로 나뉩니다. 빠른 평가는 인수 수식을 함수에 넘기기 전에 평가합니다. 반면, 지연 평가는 인수를 함수 안에서 실제로 사용할 때 비로소 해당 수식을 평가합니다. 평가 방법 여기서는 참고의 링크에 나온 몇 가지 평가 방법을 소개하겠습니다. Call-by-value (빠른 평가) 값을 복사해서 전달 (C에서 pointer를 전달하는 것도 call-by-value) Call-by..

ARCHIVES 2016.03.05

pgpool을 사용한 DB 복제 및 부하분산

pgpool을 사용한 DB 복제 및 부하분산 1. 테스트 환경 postgresSQL DB 2개, pgpool 1개 2. 테스트 내용 1) pgpool에 2개의 postgreSQL을 등록하여 Master/slave를 구성 2) DML/DDL 실행시 각 DB에 수행 3) load_balance_mode와 backend_weight 파라미터를 설정하여 select 쿼리 분산 테스트 3. 파라미터 설정 backend_weight 설정은 각노드의 값을 더했을 때 1로 보며 다음과 같이 1, 4로 설정하였을 경우 backend0 = 20%, backend1 = 80%로 load balancing 수행하므로 select 쿼리의 경우 backend1에서 우선 실행 한다. backend_hostname0 = '192.1..

ARCHIVES 2016.03.04

Parsing Expression Grammars(PEGs)

이번 포스팅에서는 Parsing Expression Grammars(PEGs)에 대해 알아보는 시간을 갖도록 하겠습니다. 들어가기에 앞서 예전에 Lex와 YACC을 사용해서 간단한 파서를 만드는 과제를 해본 경험이 있으시죠? 컴파일러 시간에 ᅟ정규표현식과 Context-free grammars(CFGs)등을 배우면서 말지요. 이 과정에서 BNF와 비슷한 표기법으로 우리가 파싱하고자 하는 언어의 문법을 정의했던 기억이 납니다. PEGs도 CFGs와 비슷한 것이라고 보시면 됩니다. PEGs란? PEGs는 CFGs와 비슷하지만, 몇 가지 차이점이 있습니다. 그중 가장 큰 차이점은 순차 선택(ordered choice)에 있습니다. CFGs에서 아래와 같이 C언어 스타일의 if/then/else 문장을 정의하면..

ARCHIVES 2016.02.29

PostgreSQL 9.5의 새로운 기능: BRIN 인덱스

PostgreSQL 9.5의 새로운 기능: BRIN 인덱스 최근 PostgreSQL 9.5가 릴리즈됐습니다(http://www.postgresql.org/about/news/1636/).이번 포스트에서는 9.5에 새로 추가된 기능인 BRIN 인덱스에 대해 알아보겠습니다. BRIN은 Block Range INdexes를 뜻합니다. 이 인덱스는 페이지에 대한 메타데이터를 저장하는 인덱스입니다. 즉 테이블의 페이지에 대해 검색에 도움이 될 수 있는 메타데이터를 뽑아서 인덱스로 구성하는 것입니다. 메타데이터의 한 가지 예로 현재는 페이지에 저장된 특정 컬럼의 최소값과 최대값을 저장합니다. 다음과 같은 저장 구조를 가진 테이블을 생각해 봅시다.(예제 출처: http://pythonsweetness.tumblr.c..

ARCHIVES 2016.01.22

Agens SQL, 전자정부 표준 프레임워크 호환성 인증 획득

그래프 데이터베이스 연구 개발 전문기업 비트나인(대표 강철순)은 ‘아젠스 에스큐엘(Agens SQL)’이 한국정보화진흥원으로부터 전자정부 표준 프레임워크 버전 3.5 호환성 인증을 획득했다고 지난 11월 26일 밝혔다.개방형 표준프레임워크를 통한 공정하고 효율적인 정보화 사업 기반확산을 목표로 하는 전자정부 표준 프레임워크는 국가 플랫폼으로써 전자정부 표준화 및 정보화 투자 효율성 향상에 이바지하는 기능 및 아키텍처를 미리 구현하여 효율적으로 애플리케이션을 구축 할 수 있도록 하는 오픈소스 기반의 프레임워크이다. Agens SQL은 ‘전자정부 표준프레임워크 3.5’ 최신 버전에서 DBMS 분야 내 아키텍처, 가이드, 표준프레임워크 호환성 등 총 3가지 항목에서 호환등급 2레벨을 받았다. Agens SQL..

ARCHIVES 2016.01.08