내가 이 바닥 처음 들어온 이유가,
데이터처리하는 프로세스를 직접 만들기 위해서야.
물론, 나는 그게 DB 서버라는것을 알고 있어.
데이터를 처리하려면, DB에 위임하잖아.
근데 나는 DB에 리퀘스트를 보내고 가져오고 이러는 과정들이 너무나도 무겁다고 느낀거임.
물론, DB서버가 돌아간다는 뜻은, 그새끼가 내부적으로 캐싱이라던지 모든 작업을 한다는 거겠지???
근데 그새끼들,
결국 퉁쳐서 돌아가는거 아님???
내가 어떤식으로 데이터를 리퀘스트하는지
어떤식으로 데이터를 변경하는지에 대하는 정보는 없이
그냥
가장 안전한 방식으로 동기화를 진행하는새끼 아니냐고
이건 아... 시발 데이터베이스에대한 공부가 필요한건가???
여하튼, 그냥 서론은 집어치우고 결론만 이야기할게.
나는 내가 직접
light 한 데이터를
어떤 한 프로세스의 메모리 위에다가 올려놓고 싶다.
추상적인 공간으로 이야기하자면 정보가 해당 프로세스의 가상메모리 위에 놓인거고
하드웨어로 이야기한다면, 그 프로세스가 놓인 ec2 인스턴스의 shared memory 위에 놓여있을거 같아.
shared memory 라 함은 뭐 메모리매핑이 될거같고.... 일단 하드웨어적인 위치는 나중에 생각한다고 하자.
여하튼,
해당 프로세스의 가상메모리 위에다가 내가 직접 데이터들을 관리하는 데이터센터를 만들고 싶다고.
파일시스템을 거치지 않고, 순전히 페이징시스템에 의해서만 관리될 수 있는 빠른 데이터베이스를 만들고 싶은거야.
아니 데이터베이스도 아니지.
RAM 데이터베이스야.
데이터베이스가 DISK 면, 나는 RAM 데이터베이스를 직접 구현하고 싶은거야.
물론, 데이터베이스의 서버들이 RAM 데이터베이스를 이뤄준 후에, 그것들이 종료되면 RAM 데이터베이스를 디스크 데이터베이스에 옮겨담는 다는 사실을 알 고 있지만,
그리고 내가 지금 해당 기술이 얼마나 발전되어있는지는 모르지만,
"그냥 직접 프로세스의 가상메모리를 light 한 데이터베이스로 만들어서 쓰겠다는 발상. 이거 별거 아니잖아??"
이거 별거 아니잖아?????
나 헛짓하는중이야??
구체적인 상황이 이해가지 않는다면, 세션에 대한 이야기야. 세션을 특정한 프로세스가 맡아서 저장하고, 그녀석이 안전하게 세션데이터들을 동기화 시켜주면서 전송 및 저장해야돼
세션 뿐 아니라 게임 데이터들도 마찬가지일거고, 어플리케이션에 대한 데이터도 마찬가지야. 나는 RAM 데이터베이스?? 그러니까 일시적으로 온라인 접속에 의해 발생하는 데이터들에 대해서 무언가 데이터 처리장치들을 만들 생각이야. 오직 동기화이슈 하나때문에 DB를 쓴다??? 그거는 내가 카메라가 필요해서 스마트폰을 사서 카메라 기능을 빼내쓴다는것만큼 비효율적인 발상이라고 생각해
이거 하다가 여기까지 온거임. 그냥 바텀업하는 상황은 아니야... ㅅㅂ 구체적인 목적이 있다고. 그거 하려다가 내려온거고
12월에 세션?? 그거 고민하다가 여기까지온거잖아
해당 댓글은 삭제되었습니다.
DB 서버가 그런 작용을 당연히 해주겠지. 근데 걔들 어차피 퉁쳐서 작동되는거 아님?? 아 뭔가... 흠.... 이미 기존에 존재하는 DB 서버를 잘 사용할수 있는 방법들이 있다는거지?
뭔지 잘 모르지만 응원한다!!!
내가 db 공부는 하나도 안하고선 이런 얘기한다는게 웃기긴 해 ㅠㅠㅠㅠ
아 솔직히 남이 만든 DB 못믿겠어. 그리고 "그게 그렇게 어려운 작업인가?" 이 생각이 제일 먼저 들고 "저거 뭔가 이것저것 세팅할 거리들이 많을거같은데, 그게 각 데이터센터별로 관리가 가능한가?" 생각이 들고 그리고, 나는 그러니까 각 데이터 유형별로 DB서버의 행동 패턴마저 달라졌으면 좋겠는데 그러면 디비 서버를 여러개 만들어야하는건지 뭐 그냥 사용법을 익혀야하는 문제인건가?
해당 댓글은 삭제되었습니다.
오 재밌어보이는 거네. 운영체제가 직접 제공해주는 db같은 개념인건가??
흠... 공부해볼게 많구만 ㅠㅠ 좋은 정보 고맙다. 내 생각을 미리 한 선배들이 어떤걸 해두었는지를 난 따라가고 싶어서
해당 댓글은 삭제되었습니다.
이거 뭔가 내가 웹서버를 C로 동시에 1커넥션밖에 처리 못하는거 서버랍시고만들었던게 기억나는 그런 대목이네 ㅠㅠㅠ 하.... ㅈ댄거같다. 데이터베이스 공부도 꼭 해볼게
흠.... 동기화와 관련된 영역을 근데 그러면 실무에서는 보통 DB에 위임하는 식으로 쓰고 있는거야?? 나는 약간 데이터들을 직접 동기화를 다루면서 최적화를 할 생각을 했던거 같음
흠... 근데 막말로 일단 러스트의 Mutex 수준에서 데드락 안일어나는 방향으로만 구현을 한다고 쳤을때 그게 난 DB보다 무거울거라고 생각하진 않는데?? 일단 그정도수준만 가지고 구현하는건 어떻게들 생각함?
일단 DB공부부터 해야지 뭔가 논의가 시작되겠군 ㅈㅅㅈㅅ