작성
·
273
0
안녕하세요. 강사님. 좋은 강의 감사드립니다.
수업을 끝내고 크롤링 내용을 몽고db에 저장하는 실습을 해보았는데요. 이와 관련하여 문의드립니다.
크롤링에 대한 결과물을 db에 저장한다고 하였을때,
fetch함수나 main함수나 모두 처리가 가능한데요. (fetch함수에서는 insert_one, main함수에서는 insert_many로처리)
사이트를 300개 정도 해보니 속도는 별 차이가 나지 않는것 같은데요. 실무적으로는 어떤 과정에서 데이터를 처리할까요?
두번째로
result_data = {"title":soup.select_one("title").text}
db_test.insert_one(result_data)
return result_data
이렇게 하면 신기하게 {'title': 'Daum', '_id': ObjectId('5fc8c897a96c07e83ed5d1ff') ID 값 까지 담겨서 리턴이 되더라고요. 이건 몽고DB의 속성인지, asyncio의 속성인지 혹시 아시는 부분이 있을까요??
답변 1
0
안녕하세요 J님
병렬처리가 꼭 좋은 성능 결과를 보장해 주지는 않습니다.
하드웨어는 싱글코어도 충분히 좋은 성능을 보여주고 있고
보통 동시성 처리는 많은 양의 데이터를 주기적으로 많은 요청을 받아 처리할 때 (특히 웹서버 등)에 활용될 수 있습니다.
몽고db id값은 자동 생성됩니다.