<** SQL 활용 **>
Data - 자료
Informatiuon - 정보
정보 - 내용.
자료 - 정보를 모아서 의미를 찾거나 분석하는 것.
data -> information
data minig(Bots)
big data
< data base >
자료저장소
- 데이터를 넣어놓는 곳
knowledge base
- 지식 저장소
Expert System / AI(Artificial Intelligence)
- 전문가 시스템(인공지능 구현한 시스템)
<자료를 저장의 방법>
* Hard code
code에다가 물리적으로 내용을 삽입하거나 변경하는 행위.
compile/ link at every data change
Static update, insert
#define NAME
#define PHONE_NO
....
printf("%s, %s\n", NAME, PHONE_NO);
....
* plain text, flatfile
하나의 데이터를 text화하여 데이터를 삽입, 추가, 변경
어플리케이션을 구성하여 데이터를 보여주거나 검색.
CRUD(Create, read, update, delete)
- 데이터를 삽입, 읽고, 수정 삭제
Dynamic data manipulation
- application에 의하여 동적으로 데이터를 운용.
Application dependent
- 종속적, 프로그램에 의존. 데이터를 관리시 관리자마다 관리방법이 다르거나 패치시에
어플리케이션을 매번 바꿔야 하는 문제.
* Spreadsheet
unique file fromat
- application dependent, better performance
- 프로그램 종속성을 조금 완화한 형태
* CSV(Comma Seperate ???) format
- common format
- application independency
scalability : 확장성
- 얼마나 큰 데이터를 저장할 것인가에 여부
- 주문서 관리
- 30/일
- 30*25일 = 750
- 750*6개월 = 4500
* race condition
경쟁관계 서로 하나의 자원에 대해 경쟁하는 상태.
- 주문서 수정/삭제
- 현금 입/출금
100만원에서 70만원 뽑았으나, 다른 신용카드 회사에서는 50만원을 뽑아간다. 이런 경우는
race condition이 발생함.
* locking
locking level - file, table, record, field, bit
자원을 사용시에는 locking을 걸어서, 나머지는 대기.
Database systems
microsoft office excel -> access , SQL Server import
scalability(확장성) : binary storage(이진 저장 사이즈 작음), indexing(목록, 꼬리표)
concurrency(동시성) : record(한줄 단위), bit level locking 작으면 작을수록 기다리는 시간이 줄어듬.
remote access feature -> distributed architecture
still application dependent w/o SQL
concurrency(race condition, locking): 동시성
MySql - DB
SQLite - DB
서로 읽어들이는 방법이 다름.
현재는 공통적인 언어를 이용해 질의 ->sql
SQL - Define, Manipulate, Control
structured query languge
commono style developed
standards - SQL-92, SQL-99, SQL-2003
optimization % Variations per DB systems
DDL : Data Definition Language
- 데이터를 담을 틀(그룻)에 대한 작업: Create, drop
DML : Data Manipulation Language
- data를 담고, 수정/삭제하는 작업 : select, insert, delete
DCL : Data Control Language
- 작업을 제어(통제): COMMIT, ROLLBACK
Atomic
Bestin transaction - 어떤 특정한 동작을 한꺼번에 처리하는 명령문
commit
crowfoot
ER diagram
Entiry : 개체
- 데이터 베이스 자체(사각형 표시).
Attribute : 속성
- 내부 내용(동그라미 표시)
Relationship : 관계
- crow's foot(마름모 모양)
관계형 데이터베이스
- 서로 다른 데이터가 엮여있거나 관계가 있는 데이터베이스
외부키(foregin key)
바깥을 가르키는(참조하는) 키.
네트워크
MAC 주소(oui, NIC)
토폴로지(topology): Bus, Ring, Star, Mesh
스위치
- mac -table 과도하게 등록하면 flooding해버린다.
프로미스큐어스 모드
라우터
논리적 주소
link local
class, mask
private network IPs
- 사설 ip
10.0.0.0 ~ 10.255.255.255 /8 앞에 8비트 네트워크, 뒤에는 호스트
172.16.0.0 ~ 172.32.255.255 /12 앞에 12비트 네트워크, 뒤에는 호스트
192.168.0.0 ~ 192.168.255.255/16 앞에 16비트 네트워크, 뒤에는 호스트
0000 0000
1000 0000
1100 0000
A 0.0.0.0 ~ 127.255.255.255
B 128.0.0.0 ~ 191.255.255.255
C 192.0.0.0 ~ 223.255.255.255
D 224.0.0.0 ~ 239.255.255.255
E 240.0.0.0. ~ 247.255.255.255
routing table
ARP
논리적 주소 -> 물리적 주소 (IP - > MAC)변환
TCP 3handshake
syn flooding attack
< BSD 소켓(Socket) >
네트워크 통신(nextwork programming interface)
파일 입출력과 같은 개념(Works like file I/O)
윈도우 버전은 윈속(Window version is winsock)
서버와 클라이언트
특정 IP, 특정포트뒤에서 대기.
클라이언트를 통하여 서버와 대화
특정 IP, 특정포트가 없는 경우 : 커널
port와 방화벽
불필요한 네트워크 차단
IP, 포트, 네트워크 인터페이스, 트래픽의 방향
2세대 방화벽: Stateful
*침입탐지/ 침입방지(IDS/IPS)
패킷의 데이터 검사
탐지, 탐지 후 차단
signature based/Anomaly based
- 정상적인 상태가 어떤지 미리 알려주고 그 범위를 벗어났을 때 알려줌.
- 룰이 없음. 하나하나 무조건 모두 검사. 오탐률 높음.
HIDS / NIDS
- host, network 설치방법, 구성에 따라 달라짐.
HTTP - 문서 80
FTP - 파일 20 21
DNS - domain name server 53
ICMP - ping, echo request/response
SNMP - 네트워크 장비들 사이에 원격으로 관리하기 위한 메시지를 주고 받는 프로토콜.
cpu, memory 네트워크 상태를 알려줌.
sqllite 간단 실습
해당 경로에 sqlite3을 실행. ".exe"를 안적어도 됨.
실행하면 "sqplit>" 형태가 되며, 종료는 ".quit"가 됨. sqlite는 sql문을 제외하고 반드시 "."을 앞에 붙이고 실행.
sqlite3 two.db라고 치면 아무런 데이터가 없는 database가 생성됨.
인터넷에서 무료로 배포하는 database를 다운받아 실행하였다. 그리고 그림은 잘렸지만 "sqlite3 chinook.db"를 실행한뒤
".tables"라고 친다. 안에 뭔가가 들어있다.
"select * from palylists;"라고 치면 "playlists"라는 속성을 선택하여 그 안에 내용을 보여준다.
'네트워크 개론 > 간략개론' 카테고리의 다른 글
6월 29일 이론 정보보안 용어, 공개키, 대칭키, 개인키 등... (0) | 2018.06.29 |
---|---|
6월 28일 UTP, 동축, 광 케이블 간단한 이론 (0) | 2018.06.28 |
5월 17일 약간의 스위치 명령어 (0) | 2018.05.17 |
2018.05.10 간단한 네트워크 개론 (0) | 2018.05.10 |