레이블이 General인 게시물을 표시합니다. 모든 게시물 표시
레이블이 General인 게시물을 표시합니다. 모든 게시물 표시

2016년 8월 1일 월요일

[Unicode] 유니코드의 명칭과 속성

UNICODE :

http://www.unicode.org/standard/translations/korean.html

유니코드에 대해 ?

어떤 플랫폼,
어떤 프로그램,
어떤 언어에도 상관없이
유니코드는 모든 문자에 대해 고유 번호를 제공합니다.

UCS-2 :

대부분의 흔히 쓰는 문자들을 정의한 규격입니다.
2bytes 범위라서 UCS-2 입니다.
이걸 bit 로 표현하여 UTF-16 입니다.
UTF-16LE, UTF-16BE 가 동일한 규격으로 Little Endian, Big Endian 은 단지 byte order (바이트 순서)가 다를뿐 입니다.
iconv --list 를 해보면 쓸데없이 많이 나오는데,
UTF-16LE, UCS-2LE 가 같은거고 BE 끼리 같은거라고 보면 됩니다.
그냥 UTF-16은 UTF-16LE 와 동일하나 앞에 BOM 헤더가 붙습니다.
UCS-2 는 헤더가 붙지 않습니다.

UCS-4 :

UCS-2 의 확장입니다.
뒤의 2bytes 는 UCS-2 와 완전히 호환됩니다.
즉, UCS-2 의 0xFFFF 는 UCS-4 의 0x0000FFFF 와 같은 코드입니다.
UTF-32 로 말만 바꾸어 위의 내용과 동일합니다.
인터넷 브라우저 내부에서 이것이 사용되며,
js 등에서 indexOf() 로 가져오면 UCS-4 코드가 10진수로 반환됩니다.
10진수 이므로 65535 까지는 UCS-2 와 완전 호환 됩니다.

UTF-8 :

UCS-2, UCS-4 는 영어권에서는 분명한 낭비가 있습니다.
ascii 만으로도 충분히 표현 가능한데, 한글자에 쓰지도 않는 바이트가 낭비되지요.
그런점도 있고, 문자열로 뭘 하기에 UTF-7 보다는 편리해서 가장 보편적으로 사용됩니다.
가변길이를 가지는 특징이 있습니다.
단지 계산만으로 UCS-2, UCS-4 규격으로의 상호변환이 가능합니다.
한국어는 UCS-2 규격 내에 있기 때문에 3bytes 내에서 표현 가능합니다.

UTF-7 :

이메일 등 ascii 만으로 표현해야 할 필요성에 의해 만들어졌습니다.
한 글자당 8bit 씩 할당하지만 사용은 7bit 만 합니다.
UTF-8 과 같은 특징을 가지고 있으나,
모든 ascii 값이 실제 ascii 와 같은 의미가 아니기 때문에 이것으로 무엇을 하기는 좀 힘듭니다.


BOM (Byte Order Mark) :

유니코드 종류가 많기 때문에 앞에 이런 헤더를 붙여서 구분하기도 합니다.
EmEditor, UltraEdit, Vim 등의 에디터에서 인식합니다.


코드표

http://www.unicode.org/charts/
각 나라별 코드범위와 정의된 문자를 볼 수 있습니다.
앞에 0 을 적지 않았기 때문에 (Zerofill 이 아니기 때문에) 4자리까지는 UCS-2 려니 하시고,
5 자리 부터는 UCS-4 려니 하십시오.

2016년 6월 10일 금요일

[General] tpmC 란?

tpmC 란?
TPC(Transaction Processing Performance Council, http://www.tpc.org) 에서 TPC-C 벤치마크 시나리오에 대한 1분당 최대처리건수를 나타내는 수치로써, DB기반 OLTP 미들웨어 시스템 서비스를 위한 H/W의 성능을 측정하는 대표적인 방법입니다. 그러나, 최근 들어 각 벤더들은 tpmC수치를 제시하지 않는 추세이며, 각자 고유한 수치의 성능자료를 제시합니다.

TPC는 Transcation Processing Perfomance Council(www.tpc.org)이라는 기관에서는 TPM(Transaction per munitue)라는 수치를 발표합니다.
TPC-C는 양판점(wholesale supplier)의 거래를 대상으로 만든 벤치마크 모델로 다음과 같은 데이터베이스를 사용합니다.

Database
Table NameSize of Table per Warehouse
WareHosuse
0.089K
District
0.95K
Customer
19.65K
History
1.38K
Order
720K
New-Order
72K
Order-Line
16.2M
Stock
306M
Item
8.2M
* 다섯가지 트랜잭션의 종류가 존재합니다.
New Order, Payment, Order-Status, Delivery, Stock-Level

트랜잭션의 속도메트릭스는 신규주문(New-Order)트랜잭션의 분당 처리수로 표시되는 (tpmC)로 결과가 발표됩니다.

tpmC = 동시사용자수×분당 트랜잭션(사용자수×트랜잭션 복잡도(50%))+인터페이스(가중치%)×네트워크 보정(30%)×피크 타임 보정(50%)×I/O 부하(20%)×년간 업무증가 및 여유율(연 20%)
메모리 용량 = {(OS 커널(100M)+[SGA()]+사용자수×5MB)+[Webserver()]+인터페이스(가중치%)}+여유율(30%)


tpm과 tpmC의 차이점
1. tpm은 각 vendor에서 내부적(비공식)으로 estimate한 값.
2. tpmC는 TPC라는 벤치마킹업체에서 공식정으로 test한 값. 여기서 C는 벤치마킹업체에서 on-line transaction processing (OLTP) benchmark에 근거한 값을 말한다고 합니다.
따라서 모든 기종의 tpmC자료는 없고 벤치마킹업체가 test한 일부 high-end서버의 값이
공식적으로 tpc.org라는 사이트에 등록되어 있다고 합니다. 다른 vendor도 마찬가지입니다.


* 출처: http://ukzzang.tistory.com/m/post/35