내가 그냥 개인적으로 알림을 받기위해
크롤링해고 메시지를 보내주는 파이썬 코드를 돌리고 있어.
이 과정에서 중복을 피하기위해 이전에 보낸적 있나를
체크해. 엄청 단순한 작업이야.
기존에 보낸 주소를 저장해두고 새로운 주소가
기존 기록에 있는지 파인드 해보는거지.
키 밸류값이 따로 있는것도 아니고 그냥 파인드 하는거니
디비같은거 안쓰고 그냥 텍스트 파일에
한줄씩 저장해두고 크롤링할때 텍스트 파일 불러와서
파인드 해주는 식으로 만들었어.
질문
1. 저런 단순한 데이터라도 디비를 사용하는것에 이점이 있어?
2. 시간이 오래 지나다보니 텍스트 파일 용량이 점점 커지는 중인데 나중에 더 커지다보면 문제가 생길 수 있어?
- dc official App
텍스트파일이 커지면 줜나게 오래걸릴수있음. 그니까 전체 내용을 스캔을 쳐서 원하는 값을 찾고 중복처리를 찾게되는거잖아
옛날에 300만줄짜리 하나 체크하는데 인텔 9세대 일반 i5에서 30초 걸렸음.
디비를사용하게된다면 인덱스 라는걸 사용하면 a ~ z 가 있으면 꼬리표붙여준다는 느낌. 예를들면 c로 시작하는 단어면 c부터 찾게해줌
디비 엔진 자체가 이런쪽에 특화되서 스캔 속도는 진짜 천지차이임
똑같이 풀스캔돌려도 디비엔진이 더 빠를듯
그렇구나! 자세한 답변 고마워~ 디비 공부를 해야겠다!! 혹시 저런 단순한 데이터용으로 추천할만한거 있어? 쥐피티에 물어조니 레디스를 추천하네. - dc App
레디스를 사용하게되면 만약 필터링해야하는 ? 뭐 데이터 이런게 많다면은 램을 좀 잡아먹게될텐데 양은 얼마나 될진모르겠지만 그냥 단순 키 : 값 정도면 3천만은 박을듯 1기가에
근데 레디스 껏다키면 다 날라가니까 rdms쓰자
양이 많아치면 충분히 db 사용할만함. 이런 용도에 아주 적절한게 sqlite임
메모리에 다 때려박아도 상관 없는 크기면 그냥 다 불러오고 dictionary 써도됨
간단한 스크립트에 redis는 지랄이고
sqlite 찾아봤는데 이건 mysql처럼 프로그램 설치 없이 그냥 파이썬 sqlite모듈로 .db파일 가지고 하면 되는거애?? - dc App
찾아보니 따로 도커라던가 프로그램이 없는 거 같더라구 - dc App
ㅇ 그래서 간단한 프로젝트 할때 좋음