developer tip

Azure 저장소 테이블과 SQL

optionbox 2020. 12. 24. 23:36
반응형

Azure 저장소 테이블과 SQL


저는 이제 막 Azure를 배우기 시작했으며 SQL이 아닌 Azure 스토리지 테이블에 무언가를 넣고 싶은 시나리오를 너무 많이 볼 수 없습니다. 관련 데이터가 필요한 환경에서 작업하는 데 익숙한 것 같습니다.

Azure SQL 데이터베이스의 테이블이 아닌 Azure 저장소 테이블에 항목을 넣는 것이 더 좋은 경우는 언제입니까?


SQL Azure는 관계, 인덱스, 제약 조건 등을 사용하여 구조화 된 데이터로 작업하려는 경우 유용합니다.

Azure Storage 테이블은 관계없이 일반적으로 대용량으로 중앙 집중식 구조화 된 데이터로 작업해야 할 때 유용합니다.

가격 : SQL Azure : 5GB에 $ 25.98 / 월

스토리지 테이블 : 175GB에 대해 $ 21.88 / m (트랜잭션 또는 대역폭 제외) 따라서 대량의 데이터를 저장할 때 스토리지 테이블이 훨씬 저렴합니다. 예를 들어 로깅을 생각해보십시오.

중앙 집중화 : Windows Azure는 서버를위한 분산 환경이므로 한 컴퓨터에 무언가를 저장하면 다른 컴퓨터가 이에 대해 알지 못합니다. 따라서 저장소 테이블은 중앙 집중식 로그 진, 세션 처리, 설정 등을위한 좋은 솔루션입니다. 하나의 데이터 센터에도 지연이 있습니다.)

속도 : 올바르게 설계하면 많은 경우 스토리지 테이블이 sql azure보다 빠르지 만 아마도 사용 사례에 따라 다르며 실제로 테스트하지 않았습니다.


이 게시물에 늦게 추가하는 동안 다루지 않은 것으로 보이는 한 가지를 언급하고 싶었습니다. Azure SQL에는 데이터 제한이 있습니다 (곧 올라갈 것 같습니다). Web Edition의 경우 5GB, Business Edition의 경우 150GB. 일부 솔루션의 경우 이것은 완벽하게 적합합니다. 그러나 다른 사람들에게는 그렇지 않을 수 있으며 개인적으로 그것을 만났습니다.

Azure 테이블의 디스크 상한은 훨씬 더 높습니다. 100TB라고 생각합니다.

또한 NoSQL은 본질적으로 비 관계형이지만 반드시 나쁜 것은 아닙니다. 사실 우리의 문제를 다르게 생각하면 그다지 많지 않을 수도 있지만 우리는 종종 관계가 필요하다고 생각합니다. 코드 자체 내에서 관계를 강화할 수 있습니다. 대부분의 개발자가 생각하는 것보다 훨씬 더 많은 일을한다고 생각합니다.


다음과 같은 경우 하늘색 테이블을 훨씬 저렴한 솔루션으로 항상 사용합니다.

  • 나는 PK에 의해서만 테이블 선택을 수행합니다 (전체 역 직렬화로 인해 속성에 대한 선택이 느립니다)
  • 제한된 Linq 세트로 살 수 있습니다 ( 쿼리 연산자 (테이블 서비스 지원))
  • 테이블을 조인 하고 서버에서 복잡한 쿼리 수행 할 필요가 없습니다.
  • 내 데이터의 수평 분할 "샤딩"이 필요합니다 (Sql Azure Federations는 0 일부터 PartionKey가있는 테이블에 의해 그 방향으로 단계적 단계입니다.

'NoSQL'의 장점을 읽어야합니다. http://en.wikipedia.org/wiki/NoSQL

비 관계형 DB, 스키마 없음, 빅 데이터, 확장 가능!

참조 URL : https://stackoverflow.com/questions/10257872/azure-storage-tables-vs-sql

반응형