DBA로써 여러 DB를 알고 있는것도 좋은거고..

또한 하나의 DB를 깊게 아는 것도 중요하다.


욕심은 MySQL 를 깊게 알고 Oracle / SQL Server를 중급레벨 이상이면 좋지만, 중급정도는 알고 싶었다.


하지만 모든게 내 뜻데로 되지 않듯이..

SQL Server를 본의 아니게 조금 더 일찍 시작하게 되었다.


후회는 없지만 MySQL 를 조금 더 깊게 파지 못하는 아쉬움이 있지만, 다행히 MySQL 도 놓지 않고 계속

컨트롤 할 수 있기에 여기서 SQL Server를 시작하게 되었다.


이것저것 어느정도 개념과 사용 방법을 어렵지 않게 익혔지만

아직 쉽지 않은것은 사실이다.


아쉬움은 있지만 후회는 없으며,

DBA로써 오히려 더 즐거움과 피드백이 생겼다.


시작이라고 적지만 이것은 DBA로써 연장이라고 생각하며 더 깊게 들어갈 수 있는 기회라고 생각한다.



반응형

우연히 ARCHIVE Storage 엔진에 대한 소식을 듣고 공식 홈페이지를 통해 구글 번역과 참고를 통해 

정리해 보았다.


구글 번역이 점점 자연스러워 지고 있네..!!!!(감사합니다.ㅠ)


어디에 어떻게 적용해 볼지 고민을 해봐야겠다.(Log DB를 생각중...)


혹시라도 도움을 주실 수 있다면 댓글로 감사히 받겠습니다. 경험담 좀 부탁 드립니다.ㅠ






  • 대용량의 데이터를 작은 단위의 풋프린트(footprint)없이 저장하기 위해 사용
  • 설치 하려면 source 에서 configure에 --with-archive-storage-engine 옵션 추가해야 함
  • 체크 >> show variables like ‘have_archive’
  • 테이블을 생성하면 하나의 테이블 포맷 파일을 생성(*.frm)
  • 데이터 파일의 경우 *.ARZ / *.ARM 파일 생성
  • ARN 파일은 최적화(Optimization operations)를 하는 동안 나타날 수도 있음
    • 하지만 mysql5.7 에서는 ARZ/ARN/FRM 파일 3개만 생성 되
    • 테이블 하나당 대략 4개의 파일이 생성된다고 보면 될 듯

  • INSERT와 SELECT만 가능(DELETE, REPLACE, UPDATE 미지원)
    • mysql5.7에서는 INSERT / REPLACE / SELECT 지원 (Order by 미지원, BLOB 등 미지원)
  • Auto Increment속성 지원(다른 컬럼으로 index 를 생성되지 않음)
  • row level lock
  • row 추가 시(INSERT) zlib 무손실 데이터 압축 진행
  • Optimizer Table를  사용하여 테이블 분석할 수 있음
  • Check Table를 사용할 수 있음
    • 데이터 추가 시 압축 버퍼로 넣으며, 필요한 만큼 버퍼 플러시가 이루어 지는데, 이 때 데이터 보호를 위해 lock이 지원
    • select의 경우 강제 플러시 실행
  • Bulk Insert의 경우 동시간에 다른 Insert가 발생하지 않더라도 완료 후에 볼수 있으며 부분적으로는 볼 수 있음
  • 검색: 캐쉬에 없을 경우 압축을 해제한 후 select 진행
    • select 는 consistent read 로 진행
    • 대량 INSERT진행 시 SELECT를 사용하면 압축 관련 지연될 것이다.
  • ARCHIVE 의 효과를 올리기 위해서는 Optimize Table , Repair Table을 사용할 수 있음
  • ARCHIVE 테이블의 데이터 수는 show table status를 통해 항상 확일할 수 있음

http://forums.mysql.com/list.php?112 를 통해 확인 가능



torage limitsNone TransactionsNo Locking granularityRow
MVCCNo Geospatial data type supportYes Geospatial indexing supportNo
B-tree indexesNo T-tree indexesNo Hash indexesNo
Full-text search indexesNo Clustered indexesNo Data cachesNo
Index cachesNo Compressed dataYes Encrypted data[a]Yes
Cluster database supportNo Replication support[b]Yes Foreign key supportNo
Backup / point-in-time recovery[c]Yes Query cache supportYes Update statistics for data dictionaryYes 


반응형

텐써플로우 첫걸음 이라는 책을 사놓고..

보지도 않고 있다가


오늘에서야 조금씩 보기 시작했다.


DBA로써 내 분야에 대해 공부와 더불어 스트레스를 풀기 위해 데이터 분석도 진행하려고 샀다.



1.변수 간의 관계에 대한 모델
    장점 : 알고리즘의 개념이 복잡하지 않고 다양한 문제에 폭넓게 적용할 수 있음
        - 독립변수 X, 상수항 b와 종속변수 y 사이의 관계를 모델링하는 방법

        - 두 변수 사이의 관계일 경우 단순회귀라고 하며, 여러 개의 변수를 다루는 다중회귀
 

# Tensorflow

# 선형회귀분석

# python 2.7

import numpy as np


num_points = 1000

vectors_set = []


for i in xrange(num_points):

    x1 = np.random.normal(0.0, 0.55)

    y1 = x1 * 0.1 + 0.3 + np.random.normal(0.0, 0.03)

    vectors_set.append([x1, y1])

    

x_data = [v[0] for v in vectors_set]

y_data = [v[1] for v in vectors_set]


%matplotlib inline

import matplotlib.pyplot as plt


plt.plot(x_data, y_data, 'ro')

plt.show()


  1. 비용함수와 경사 하강법 알고리즘
  - 비용함수(오차함수) : 반복이 일어날 때마다 개선되고 있는지 확인하기 위해 얼마나 좋고 나쁜 직선인지를 측정
  - 평균제곱오차 : 실제 값과 알고리즘이 반복마다 추정한 값 사이의 거리를 오차로 하는 값의 평균
  - 경사하강법 : 일련의 매개변수로 된 함수가 주어지면 초기 시작점에서 함수의 값이 최소화되는 방향으로 매개변수를 변경하는 것을 반복적으로 수행하는 알고리즘
    함수의 기울기를 음의 방향 쪽으로 진행하면서 반복적으로 최적화를 수행

    보통 양의 값을 만들기 위해 거리 값을 제곱하며, 기울기를 계산해야 하므로 오차함수는 미분 가능해야 함


#비용 함수와 경사 하강법 알고리즘

import tensorflow as tf

W = tf.Variable(tf.random_uniform([1], -1.0, 1.0))
b = tf.Variable(tf.zeros([1]))
y = W*x_data+b

loss = tf.reduce_mean(tf.square(y-y_data))

optimzer = tf.train.GradienDescenOptimizer(0.5)
train = optimizer.minimize(loass)

#알고리즘 실행

init = tf.global_variables_initializer()

sess = tf.Session()
sess.run(init)

for step in xrange(8):
    sess.run(train)
    
print sess.run(W), sess.run(b)

plt.plot(x_data, y_data, 'ro')
plt.plot(x_data, sess.run(W) * x_data + sess.run(b))
plt.xlabel('x')
plt.ylabel('y')

plt.show()

 



* 사실 이해를 제대로 못했다...하지만 한번 훑고 넘어 가고 다시 한번 보도록 해야겠다.

반응형

+ Recent posts