데이터 웨어하우스 관리 명령줄 애플리케이션 - PowerShell 또는 C# 콘솔 앱
-
19-08-2019 - |
문제
이 질문은 Microsoft 전용 상점에 대한 것이라고 말하면서 시작하겠습니다.
데이터 웨어하우스를 관리하기 위해 콘솔 앱을 작성한다면 무엇을 사용하시겠습니까?
1) PowerShell용 사용자 지정 환경 작성(최신 Exchange/SQL Server 버전)
2) C# 콘솔 앱으로 작성
#2의 경우 "메뉴 시스템" 작성이나 기타 작업을 대신해 주는 프레임워크가 있습니까?
이 앱이 6~8년 동안 지속되어야 한다면 PowerShell을 사용하시겠습니까?현재 팀에 PowerShell 경험이 있는 사람은 없지만 우리는 빨리 배우는 사람들입니다.
해결책
관리 기능을 PowerShell CMDLET으로 작성하면 사람들이 CMDLET을 직접 실행하거나 GUI로 감싸도록하여 해당 기능을 표면 할 수 있습니다. PowerShell과 함께 진행하면 아마도 가장 장기적인 유연성을 제공하고 MS MS가 더 많은 PowerShell CMDLET을 구현함에 따라 데이터웨어 하우스를 관리하는 것이 필요한 경우 다른 대규모 비즈니스 프로세스와 통합 될 수 있음을 의미합니다. 아마도 C# 콘솔 앱을 작성하지는 않겠지 만, 더 많은 "관리자"관점이 있습니다. 우리의 관리자는 우리에게 맞춤형 콘솔 앱을 던지는 데 지쳤습니다. PowerShell의 아이디어는 명령 줄과 GUI 관리를 지원하는 방식으로 모든 것을 표준화하는 것입니다.
다른 팁
나는 당신이 둘 다 성공할 수 있다고 생각하며 너무 번거 로움없이 둘을 전환 할 수 있어야합니다. 콘솔 앱을 구축하지만 나중에 PowerShell을 배우는 경우 많은 콘솔 앱 별 코드 (예 : 명령 줄 구문 분석 코드)를 버리고 기존 API를 마무리하기 위해 몇 가지 PowerShell CMDLET을 구축 할 수 있습니다. 또는 GATE에서 CMDLET을 많이 만들지 만 나중에 콘솔 앱으로 전환 해야하는 경우 CMDLET을 작성하는 데 많은 시간을 낭비하지 않을 것입니다.
그래서 나는 실제로 어떤 식 으로든 강한 조언을하지 않습니다. 말하겠습니다 : 이봐, 파워 쉘을 시도해보세요. 마음에 들지 않으면 전환하기가 어렵지 않습니다.
PowerShell은 작은 것들에 대한 훨씬 더 관리 가능한 솔루션이라는 것을 알았습니다. 콘솔 앱은 새로운 라이브러리로 다시 링크하고 라이브러리가 변경에 의존 할 때 (Visual Studio 2005에서 진행되는 경우 - Visual Studio 2008의 CodeCoverage 및 기타 물건)를 실행할 수있을뿐만 아니라 VSINSTR, MSTEST 등을 호출 할 수 있습니다. . PowerShell 스크립트와 마찬가지로 각 환경에 대해 쉽게 사용자 정의 할 수 있으며 선택한 모든 환경에 대한 컴파일, 링크, 배포를 통과 할 필요가 없습니다. 실제로 레지스트리에서 경로 정보를 얻으면 동일한 스크립트가 두 환경에서 실행될 수 있습니다.
원하는 모든 것을 할 수 있습니다. 단일 간단한 텍스트 파일, 콘솔 앱을 유지하는 것이 좋습니다. 개인적인 취향.
데이터 웨어하우스를 관리한다는 것은 어떤 종류의 작업을 말하는 것인가요?
T-SQL에서 수행하는 대부분의 관리(제거, 보관, 변환) - 이에 대한 인터페이스는 매우 얇을 수 있습니다(존재하지 않을 수도 있음).
좋아, 귀하의 의견에 따르면 .NET 어셈블리(일반적인 API 클래스 라이브러리)를 사용하여 저장된 procs에서 모든 작업을 수행하는 코드를 가질 것입니다. 가능한 한 많이 저장된 procs에서 더 쉽게 수행할 수 있는 어셈블리를 사용합니다. 또는 COM 등이 필요합니다.그런 다음 클래스 라이브러리를 cmdlet으로 래핑하거나 PowerShell에서 .NET 개체를 호출합니다(PowerShell은 개체를 인스턴스화할 수 있다는 점을 기억하세요).
이제 원할 경우 웹 페이지, GUI 앱 등 무엇이든 호출할 수 있는 .NET 라이브러리가 있고, cmdlet과 직접 .NET 인터페이스가 있으며, 필요한 경우 SQL에서 호출할 수 있는 옵션도 있습니다. SQL 계층에서 완전히 구현되었습니다.
COSOLE 앱 대신 PowerShell을 구현하는 것의 장점은 모든 매개 변수 구문 분석 또는 모든 형식을 코딩 할 필요가 없다는 것입니다. PowerShell은 당신을 위해 그 모든 것을 처리합니다. 물론 필요한 경우 기본값을 재정의 할 수 있습니다. 와일드 카드를 무료로 얻을 수 있습니다. 또한 CMDLET가 파이프 라인에서 값을 가져 오도록하여 모든 종류의 가능성과 자동화 용도를 열어 줄 수 있습니다. PowerShell을 사용하면 최종 사용자와 개발자 모두 훨씬 더 나은 경험을 할 것입니다.