본문 바로가기
728x90

분류 전체보기316

[Network] Nslookup & ping 정리 요즘 api서버를 배포하면서 도메인신청을 할 일이 있었는데, 관련해서 네트워크 지식이 많이 필요하단걸 다시 한번 느꼈기 때문에 기본기 정리를 하겠습니다. 1. Nslookup 네트워크 관리 명령 줄 인터페이스 도구로서 많은 컴퓨터 운영 체제에서 사용 가능하며, 도메인 네임을 얻거나 IP 주소 매핑 또는 다른 특정한 DNS 레코드를 도메인 네임 시스템(DNS)에 질의할 때 사용 name server lookup의 준말 위 사진과 같이 wkikipedia.com DNS에 대하여 질의를 했을 경우 응답이 돌아온다면, 해당 DNS는 질의한 클라이언트로부터 열려있다는 것을 알 수 있음 DNS 서버: dns.google이 지정된 DNS서버임 Name 서버: wikipedia.com와 그 주소가 Name 서버에 해당.. 2023. 11. 10.
[Network] 동기 vs 비동기 통신 (Ajax, kafka) 정리 Ajax와 kafka 등 비동기 통신(처리)한다는 용어가 헷갈려 이 기회에 정리해보려고 합니다. 1. 동기 vs 비동기 처음에는 사실 그림을 봐도 크게 와닿지는 않았습니다. 1) 동기(synchronous) 방식 요청과 결과가 동시에 일어나는 방식으로 요청을 보낸 후 응답을 받아야 다음 동작이 진행 됨 요청과 결과가 한 자리에 동시에 나타나는 것으로 사용자가 서버로 요청을 보냈을 경우 요청에 대한 응답을 리턴받기 전까지는 다른 것을 하지 못하고 기다려야 함 장점 : 설계가 간단하고, 직관적 단점 : 요청에 대한 결과가 반환되기 전까지 대기해야 함 2) 비동기(Asynchronous) 방식 요청과 결과가 동시에 일어나지 않는 방식으로 요청과 결과가 동시에 일어나지 않음 동시에 여러 요청을 보낼 수 있음(응.. 2023. 11. 6.
[Network] DNS, A레코드와 CNAME 정리 1. DNS란? DNS(Domain Name System)의 약자로, 사용자가 숫자로 된 인터넷 프로토콜 주소 대신 인터넷 도메인 이름과 검색 가능한 URL을 사용하여 웹사이트에 접속하는 것을 가능하게 함 → 사용자는 93.184.216.34와 같은 IP 주소를 기억하는 대신 www.example.com을 검색할 수 있음 퍼블릭 DNS: 일반적으로 인터넷 서비스 제공업체(Internet service provider, ISP)가 기업에 IP 레코드를 제공하고, 이러한 레코드는 일반 대중에게 제공되며, 사용 중인 디바이스 또는 디바이스에 연결된 네트워크에 상관없이 누구나 액세스할 수 있습니다. 프라이빗 DNS: 프라이빗 DNS는 회사의 방화벽 뒤에 존재하며 내부 사이트의 레코드만을 보관한다는 점에서 퍼블릭.. 2023. 11. 6.
[Database] Redshift Procedure를 airflow로 제출하기 (error 정리) 에러 airflow에서 redshift를 pyscogp2를 이용하여 연결하고, procedure를 제출했는데, 다음과 같은 에러가 있었다. psycopg2.errors.InvalidTransactionTermination: ROLLBACK cannot be invoked from a procedure that is executing in an atomic context. HINT: Try calling the procedure as a top-level call i.e. not from within an explicit transaction block. Or, if this procedure (or one of its ancestors in the call chain) was created with SE.. 2023. 10. 20.
[Spark Tuning] Spark Memory 와 JVM 정리 spark memory를 정리하기 전에 JVM을 알아야 합니다. 왜냐하면 spark는 Java 가상머신(JVM) 기반으로 동작하기 때문이고, 다른 언어(Python,R)로 작성한 spark code도 결국에는 Executor의 JVM에서 실행할 수 있는 Code로 알아서 변환하여 실행되기 때문입니다. JVM(Java Virtual Machine) 자바를 실행하기 위한 가상 기계(컴퓨터) * Java compiler는 JDK를 설치하면 bin 에 존재하는 javac.exe 1. runtime Data Area Runtime Data Area는 JVM이 프로그램을 수행하기 위해 OS로부터 별도로 할당받은 메모리 공간을 말한다. Runtime Data Area는 크게 5가지 영역으로 나눌 수 있습니다. 1) .. 2023. 10. 17.
[Network] nslookup (DNS-domain name service 조회) 정리 이번에 sub-domain을 신청하면서 신청이 잘 되었는지 확인하기 위해 사용한 nslookup 명령어를 정리 해보겠습니다. nslookup이란? nslookup 명령어는 windows, linux에서 사용하는 네트워크 디버깅 관련 명령어로, DNS 서버에 직접 DNS 쿼리를 하고 그 결과를 출력해줌 DNS 설정이 정상적인지, 혹은 DNS 서버가 정상적으로 동작하고 있는지, 네트워크가 의도한대로 설정되어있는지 등을 확인할 수 있음 nslookup은 리눅스 명령어지만, 맥OS나 윈도우에도 같은 이름을 가진 명령어가 있음 1. 사용법 $ nslookup [DOMAIN] google.com 도메인 nslookup $ nslookup google.com * nslookup으로 도메인의 IP 주소를 조회할 때 프.. 2023. 9. 30.
[DataBase] RDBMS 이관 PostgreSQL to MySQL, 여러가지 방법과 에러 정리 이번 포스트에는 회사업무중에 필요에의해 기존에 있던 PostgreSQL DB를 MySQL로 이관시켜야 하는 요구사항이 있었습니다. 보통 PostgreSQL이 더 관대한 RDBMS로써 이기종 DBMS간 이관을 할 때, 찾아보니 MySQL → PostgreSQL은 많이 사례가 있고 자료가 있었지만, 우리의 경우 반대의 경우 였기 때문에 많은 리서칭이 필요했습니다. 이관 대상 대상 구분 대상 여부 스키마(Schemas) Y(MySQL에서는 Databases) 테이블(Tables) Y 제약사항(Constraints) Y Index Y Sequence Y(Auto Increments) User / Role - 이관 방법 1. PostgreSQL dump file https://www.postgresql.org/d.. 2023. 9. 29.
[Spark] cache() vs persist() 차이점 정리 (feat. storage level) cache() test_df.cache() # test_df를 캐싱 test_df.storageLevel # org.apache.spark.storage.StorageLevel = StorageLevel(disk, memory, deserialized, 1 replicas) persist() import org.apache.spark.storage.StorageLevel # storage 명시를 위한 library import test2_df.persist(StorageLevel.MEMORY_AND_DISK) # test2_df에 persist를 하면서 storage lvl을 명시 test2_df.storageLevel # org.apache.spark.storage.StorageLevel = Stora.. 2023. 9. 19.
[Spark] Spark Cluster mode vs Client mode (feat. 왜 EMR Serverless는 Client mode일까?) EMR Serverless가 client mode로 설정되어 있는 것을 보면서 왜 client 모드 일까? cluster모드는 안되는 걸까? 라는 의문점을 가졌었고, 막상 두 개의 차이점을 설명하려 해봐도 명확히는 설명을 할 수 없어서 이번 기회에 비교하여 정해보겠습니다. Spark Driver 비교해보기에 앞서 driver 개념이 두 개를 비교할 때 필요 하므로, Spark Driver부터 간단하게 짚고 넘어가겠습니다. 프로그램의 main()메소드가 실행되는 프로세스 Spark Context, Spark Session을 생성하고 RDD를 만들고 Transformation, action 등을 실행하는 사용자 코드를 실행 DF, DS, UDF를 생성하고 애플리케이션 정보 유지 관리를 담당 Cluster M.. 2023. 8. 30.
728x90