데이터 웨어하우스 관리 명령줄 애플리케이션 - PowerShell 또는 C# 콘솔 앱

StackOverflow https://stackoverflow.com/questions/344561

  •  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을 사용하면 최종 사용자와 개발자 모두 훨씬 더 나은 경험을 할 것입니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top