전체 글 1296

Amazon 클라우드 RDS의 Multi Zone Replication

AWS의 Zone은 같은 지역에 있는 물리적으로 다른 데이타 센터의 개념을 이야기 함.RDS의 Multi Zone replication은 한 데이타 센터가 고장 나더라도 다른 데이타 센터에서 서비스가 가능한 구조.기본적으로 Active-Stand by 형태로 복제하다가, 장애가 나면 stand by 서버로 fail over하는 구성 중요한 것중 하나는 MySQL RDS의 경우 자동 Back 시, 시스템이 일시적으로 멈추는 현상이 보이는데, Multi AZ deploy의 경우, back up시에, 자동 fail over하여, 멈추는 현상 없이 서비스가 가능함 http://aws.amazon.com/ko/about-aws/whats-new/2010/05/18/announcing-multi-az-deploym..

LoadUI 테스트 결과

부하테스트툴로 고민중이던 Load UI를 테스트해봤다.SOAPUI를 만든 업체의 제품이라서 신뢰가 갔는데.. 2012년 제품으로 제품의 성숙도에 의문이 있었다. 지금도 의문은 남아 있다. 전체적으로 Yahoo Pipe와 같이 Mash up의 느낌을 준다.Wramp up 테스트, agent를 이용한 분산 환경 기반의 테스트등 기본적인 테스트와 Server Side 모니터링을 지원한다.스크립트 언어로는 Groovy를 지원한다. 그리고 SOAP UI를 PLUG IN하여 부하 발생기로 사용할 수 있으며, Hudson과 같은 CI툴과 통합하여 regression 테스트 까지 지원한다. 전체적으로 기능 자체에는 부족함이 없어보인다.Java 기반이고 UI는 Java FX를 사용해서 인지, Launch할때 좀 불안정하..

성능과 튜닝 2012.10.30

부하테스트 툴 검토 결과

항상 성능 테스트를 준비할때 마다, 어떤 부하 테스트툴을 쓰느냐가 고민이다.어느정도 틀이 갖춰진 조직이나, 예산이 충분한 경우에는 뒤도 안돌아보고 파트너 불러다가 Load Runner돌린다. 1. Load Runner국내 인력도 많고, 다양한 시나리오에 대한 부하 테스트를 안정적으로 할 수 있어서 언제나 #1 옵션이지만, 비용이 살인적이다. 2. 기타 오픈소스그래서 오픈소스를 검토해봤는데,Apache JMeter의 경우 예전에 하도 실패를 많이 했고, 테스트 중 GC 발생도 그렇고, 툴 자체가 매우 세밀하게 사용을 해야 한다. 부하 테스트 툴이라기 보다는 부하테스트 프레임웍 정도로 보는게 맞지 않을까?그 다음으로 예전에 Multimechnizer라는 툴을 고민했었는데, Erlang기반이고 Python으로..

성능과 튜닝 2012.10.29

MySQL HA over AWS 옵션

메모를 안해놓으면 또 까먹기 때문에, 정리 차원에서 몇가지 정리 1. MySQL HA over AWS먼저 MySQL을 아마존 위에서 Zone간 Fail Over를 위해서 몇가지를 고민했다. 1) MySQL ClusterMySQL의 클러스터링 버전으로, Zone간 Fail Over가 이론적으로 가능하다. 제품 자체도 기존 MySQL과 상당히 차별화 되어 있다.그러나 가격이 상당히 비싼 편이고, 아직은 AWS위에 deployment된 reference가 없기 때문에 상당한 risk를 둬야 한다. 2) Garela, Tungsten오픈소스로 Replication을 보장하지만, 국내 Support가 없기 때문에, Bug Fix가 어렵다. 그래서 Pass 3) HAProxy상당히 재미있는 개념인데, Proxy로 ..

MySQL의 Auto Sharding 및 Data Replication Architecture

Auto-Sharding이번 MySQL의 Enhancement 중 재미있는 기능중의 하나가 Auto Sharding이라는 기능이다. Sharding에 대한 개념은 http://bcho.tistory.com/670 를 참고하면 되고.보통 Sharding이라 하면 Application 에서 작성해서 컨트롤해야 하기 때문에, 데이타 저장 용량을 늘릴 수 있을지 몰라도, 전체적으로 Application의 구현 복잡도를 올리는 문제가 있었다.이번 MySQL에서는 Auto-Sharding이라는 기능을 제공하는데, 요는 MySQL이 알아서 데이타를 여러 데이타 노드에 분산 저장함으로써 전체 저장 용량을 늘리고, 데이타를 분산 배치 함으로써, 처리 능력을 향상 시킬 수 있다. 위의 그림은 Auto-Sharding 아키..

MySQL Clustering 버전의 새로운 기능들

※ 본 문서는 MySQL Cluster 버전을 기준으로 한다. MySQL 배포 구조 MySQL 배포 구조는 다음과 같다. 크게 3가지 종류의 노드를 갖는다. ① MySQL Data Node : Data Node는 실제로 데이타를 저장하고, Query 등을 수행하는 역할을 한다. ② MySQL Application Node : 일종의 라우터 역할로, MySQL 클라이언트에 의해서 들어오는 request를 적절한 Data Node로 라우팅 한다. ③ MySQL Management Node : 전체 클러스터에 대한 관리 기능을 수행한다. 위의 그림과 같이 Application Node와 Data Node는 다수가 존재할 수 있다. Application Node는 실제로 데이타를 저장하지 않고 라우팅 하는 역할..

데이타 분석 계층 아키텍쳐

Data Analysis Layer Architecture 데이타 분석 계층에 대한 아키텍쳐를 공부하면서 간단하게 정리해서 올리기는 했습니다만, 이쪽 분야에서는 전문성이 상대적으로 떨어져서 아래 글에 잘못된 설명이 다소 있을겁니다. 특히 OLAP이나 BI 전문가 분들이 보시면 아주 초보적인 수준일텐데.. 혹시 잘못된 부분이 있다면 피드백 주시면 매우 감사하겠습니다.일반적인 시스템들은 application server들을 중심으로 하여 클라이언트가 요청한 request에 대한 처리를 위한 구조이고, 지금 부터 설명하는 Analysis Layer는 트렌젝션 처리에 의한 결과와 로그를 분석하는 Layer이다. Anlysis Layer 또는 BSS(Business Support System) 그리고 은행에서는 ..

아키텍쳐 /BI 2012.10.14

대용량 시스템을 위한 데이타베이스 아키텍쳐-Sharding & Query Off Loading

대용량 시스템을 위한 데이타베이스 아키텍쳐 Sharding & Query Off Loading RDBMS는 크게 request를 바로 처리하는 트렌젝션 처리용의 OLTP(On-Line Transaction Processing)성과, 데이타를 모아서 분석하고 리포팅하는 OLAP(On-Line Analytical Processing) 두가지로 분리된다. 여기서 설명하는 RDBMS는 OLTP성의 데이타 베이스 이다. RDBMS는 2차원 테이블 구조의 데이타를 KEY 값을 중심으로 여러개의 컬럼으로 저장되며, 저장된 각각의 로우(행)은 다른 테이블의 로우와 관계를 가질 수 있다. RDBMS를 이용한 설계를 하는데, 고려할만한 아키텍쳐는 성능 향상을 위한 Query Off Loading과, Sharding이라는 ..

NoSQL 인기 순위

미국의 NoSQL 인기 순위를 분석해보니, mongodb가 앞도적인 1위, 2위권은 cassandra,hbase 그리고 다음이 redis 맨 아래로 riak,couchdb 등이 있다.아무래도 기능이 편리한 mongodb 가 단연 인기고, 난이도는 있지만 확장성에 우위가 있는 cassandra,hbase가 그 뒤를 따른다. 분석 방법은 indeed.com 이나 monster.com의 구인 광고중, 해당 기술별 구인 광고를 분석하였다. mongodb 276cassandra 149hbase 146redis 91coherence 53couchdb 40riak 24

아키텍트의 종류와 역할

아키텍트의 종류와 역할 아키텍쳐를 설계 하는 사람은 아키텍트(Architect)라고 한다. 이 아키텍트는 아키텍쳐 설계 프로세스에서 정의한 각 아키텍쳐에 대해서 아키텍쳐를 설계하는 역할들이 정의된다. 계층 구조를 제외하면 아키텍쳐는 5가지로 분리된다.(http://bcho.tistory.com/667 참조) Business Architecture, Application Architecture, Solution Architecture, Data Architecture로 분리되며, 아키텍트 역시 이 5개 분야에 걸쳐서 총 5개의 역할로 정의된다. Enterprise Architect (EA) Business Architecture를 포함한 전체 아키텍쳐 설계에 대한 책임을 진다. 비지니스 이해를 바탕으로 전..

아키텍쳐 2012.09.06

아키텍쳐 설계 프로세스

아키텍쳐 아키텍쳐란 무엇일까? 소프트웨어 시스템에 대해서 이야기 하다보면, “아키텍쳐가 어떻다”. “최신 아키텍쳐를 적용했다.” 등 아키텍쳐에 대한 언급이 많다. 그렇다면, 소프트웨어 아키텍쳐에 대한 정의는 무엇일까? http://www.sei.cmu.edu/architecture/start/glossary/community.cfm 를 보면, 수많은 아키텍쳐에 대한 정의가 있다. 지금부터 설명하고자 하는 아키텍쳐에 대한 정의는 다음과 같다. “아키텍쳐는 비지니스 요구 사항을 만족하는 시스템을 구축하기 위해서 전체 시스템에 대한 구조를 정의한 문서로, 시스템을 구성하는 컴포넌트와, 그 컴포넌트간의 관계, 그리고, 컴포넌트가 다루는 정보(데이타)를 정의한다.” 또한 소프트웨어 아키텍쳐는 현재의 요구사항뿐 아..

아키텍쳐 2012.09.04

NoSQL 데이타 모델링 #2- 데이타 모델링 패턴

NoSQL 데이타 모델링 #2Facebook Server Side Architecture Group http://www.facebook.com/groups/serverside 조대협NoSQL 데이타 모델링 패턴 NoSQL 데이타 모델링 패턴[1]은 Key/Value 저장 구조에 Put/Get 밖에 없는 단순한 DBMS에 대해서 다양한 형태의 Query를 지원하기 위한 테이블을 디자인하기 위한 가이드 이다. 특히 RDBMS에는 있는 “ Order by를 이용한 Sorting, group by를 이용한 Grouping, Join등을 이용한 개체간의 relationship 정의, 그리고 Index 기능” 들을 데이타를 쿼리하는데, 상당히 유용한 기능인데, NoSQL은 이러한 기능들을 가지고 있지 않기 때문에,..

NoSQL 데이타 모델링 #1-데이타모델과, 모델링 절차

NoSQL 데이타 모델링 #1Facebook Server Side Architecture Group http://www.facebook.com/groups/serverside 조대협빅데이타,클라우드,NoSQL은 요즘 기술적인 화두중에 하나이다. 그중에서도 NoSQL은 많은 사람이 관심을 갖고 있음에도 불구하고, 기존의 RDBMS 데이타 모델링 관점에서 접근을 하기 때문에, 많은 문제를 유발한다. NoSQL은 데이타 베이스이기도 하지만 RDBMS와는 전혀 다른 성격을 가지고 있고, 접근 방식도 틀리다. 특히 테이블 구조를 정의 하는 데이타 모델에 따라서 NoSQL의 성능은 하늘과 땅차이만큼 차이가 난다. 이 글에서는 NoSQL의 데이타 모델링 기법에 대해서 소개하고자 한다.※ 깨지는 그림은 클릭해서 봐주세..

블로그 40만 VIEW 돌파

이 Tistory로 이사온지 이제 약 5년 정도 되어가네요.예전에 호스팅 형태로 몇년을 운영해왔는데.. 그글은 다 날라가서 아깝기는 합니다만...5년 동안 약 650개의 글을 썼고, 오늘 40만 VIEW를 넘었네요.이제 블로깅이 습관이 되서 기술이나 머릿속에 정리할 게 있으면 긁졌여 높니다.상당 부분 메모는 소셜 북마크 서비스나 페이스북으로 넘어갔지만요...앞으로 5년후에는 또 어떤 글이 쌓이게 될까요? 처음 블로깅할때는 글을 쉽게 썼던거 같은데.. 요즘은 가끔 논문을 쓰고 있지 않나 하는 생각도 듭니다. 독자위주가 아니라 필자위주의 글이라서요.. 가끔 구글링을 하다보면, 제가 옛날에 써놓은 글이 블로그에서 검색될때도 있습니다. 까먹고 있었다는 거져.... 그래도 블로깅을 하면서 여러 생각을 정리할 수 ..

카테고리 없음 2012.08.21

테스트 팀의 조직 구조

테스트 팀의 조직 구조 Facebook Server Side Architecture Group (SSAG)http://www.facebook.com/groups/serverside조대협 테스트를 수행하는 테스트팀의 구조는 테스트 방법론이나 개발 조직, 개발팀의 개발 방법론에 따라 모두 차이가 있다. 여기서는 일반적으로 적용할 수 있는 테스트 조직 구조에 대해서 소개한다. 각각의 역할은 중첩 될 수는 있으나, 생략 될 수 는 없다. 테스트 팀 테스트팀은 테스트를 계획하고 주도적으로 수행하는팀이다. 테스트팀의 일반적인 구조는 다음과 같다. Test Lead 전체 테스트에 대한 모든 것을 관장한다. 테스트 팀 관리 뿐만 아니라 시스템에 대한 전체 품질 관리를 포함하여 관리한다. - Define strategy..

ALM/Test Automation 2012.08.21

임원에 대한 프리젠테이션

오늘 딸래미와 키즈카페 갔다가 괜찮은 책이 있어서 읽어보다가 마음에 드는 글이 있어서 스크랩한다.임원 대상의 프리젠테이션시 주의해야 할 사항인데... 100% 공감한다. 고위 경영진이나 임원들을 대상으로 프리젠테이션을 할때는 권고하는 방법을 주의해야 한다.제안을 하되 가르치려 해서는 안되다. 이들은 지시 받는 것을 좋아하지 않는다. 자신의 생각을 객관적으로 뒷바침하고 그들이 중요하게 생각하는 것에 중점을 두고 말해야 한다. 또한 격식있는 프리젠테이션을 하되 요령있게 해야 한다. 일반적으로 임원들은 요점을 듣고 싶어한다. 추천하는 사항이 무엇이고, 어떠한 계획을 갖고 있는지 그에 대한 결과는 어떠할 것인지, 그리고 어느 정도의 비용이 예상되는지에 대해 알고 싶어 한다. 구체적인 사항을 일일이 듣고 싶어하지..

대용량 시스템 레퍼런스 디자인

대용량 시스템 레퍼런스 디자인 SSAG - Face book Server Side Architecture Grouphttp://www.facebook.com/groups/serverside조대협 (bwcho75 골뱅이 지메일닷컴) I. 배경웹로직,JBOSS 가 유행이던, J2EE 시대만 하더라도, 웹서버+WAS+RDBMS면 대부분의 업무 시스템을 구현할 수 있었다. 오픈소스가 유행하면서 부터는 프레임웍 수는 다소 많기는 했지만 Spring,IBatis or Hibernate,Struts 정도면 대부분 구현이 가능했다.그러나 근래 수년 동안 벤더 중심에서 오픈소스 중심에서 기술의 중심이 구글,페이스북이 주도하는 B2C 기반의 서비스의 유행과 더불어 대규모 분산 시스템을 위한 대용량 아키텍쳐가 유행하게 되었..

Google 기술 스택의 이해

Google의 기술을 이해한다. 근래에 들어서 유행하는 IT 기술은 구글이나 페이스북등의 B2C 서비스 업체를 중심으로 하여 파생된 기술이 그를 이룬다.클라우드 컴퓨팅, NoSQL, 빅데이타등의 최신기술들 역시 구글이나 페이스북을 원류로 한다.'이 글에서는 대표적인 B2C 기업인 구글의 서비스의 구조를 통하여 구글의 기술을 이해하고 현재 주류를 이루는 기술에 대한 배경을 이해함으로써 향후 유사 솔루션에 대한 적용 시나리오를 찾는데 도움을 주기 위해서 작성되었다.' 검색엔진의 일반적인 구조구글은 기본적으로 검색 서비스를 바탕으로 유입자를 통한 광고 수입을 주요 비지니스 모델로 하고 있다.이메일이나 개인 스토리지 서비스등 많은 서비스들을 가지고는 있지만, 아무래도 그 뿌리는 검색이다.일반적인 검색 엔진의 구..

"인터넷상 정보의 유통 구조의 변화"에 대한 단상

인터넷의 정보의 유통 구조의 변화 1990년대 인터넷과 WWW이 생기면서 정보의 유통 과정에 일대 변혁이 왔다. 전문가가 아니더라도 전문 정보를 빠른 시간내에 접할 수 있게 되었고, 정보의 소비자에서 이제는 생산자의 역할로까지 변화되었다. 1 단계-초기의 유통 구조초기의 정보 유통 구조는 검색엔진과 디렉토리 서비스를 통하여 원하는 정보를 찾는 형태였다. 검색엔진의 정확도가 상대적으로 낮았고, 랭킹 알고리즘등이 성숙하지 못했기 때문에 디렉토리 서비스를 통해서 분류된 정보를 기반으로 접근하게 되었다. 야후나 라이코스 같은 서비스들의 전성시대가 아니었을까 싶다. 정보의 생산 주체 역시 아무나 웹사이트를 만들 수 없는 환경이었기 때문에, 웹사이트를 만들 수 있는 경제력이나 기술력이 있는 곳을 통해서만 정보에 접..

IT 이야기 2012.07.25

도대체 왜? 클라우드,Hadoop,NoSQL에 열광하는가?

클라우드 컴퓨팅, Hadoop, NoSQL 새로운 기술이고 구글이나 FaceBook과 같은 B2C의 선두 업체들이 주로 사용하는 기술이다. 그런데, 왜 우리도 이 기술에 열광하는가?재미는 있고, 쓸모는 있는 기술이다. 그런데 필요가 있나? 한번 더 생각해볼 필요가 있다. 첫번째 HadoopHadoop의 경우 대용량 데이타를 배치성으로 처리하기 위한 분산 처리 프레임웍이다.여러가지 사용 용도가 있을 수 있겠지만, 주로 대용량 데이타를 분석하기 위해서 사용된다.이런 형태의 데이타 분석은 이미 OLAP이나 BI형태로 솔루션들이 제공되고 있고, 기업에서는 이미 구축되어 있다. 구글이나 페이스북과 같은 대규모 서비스를 한다면 모를까? 5000만 인구의 대한민국에서는 그만한 데이타 분석이 필요할까 과연 의문이다.물..

Cassandra Node CRUD Architecture

Cassandra Node CRUD Architecture 이번 글에서는 Cassandra 클러스터를 구성하는 각 노드에서 Local Read/Write가 어떤 원리로 이루어지는 지 설명한다.Cassanda에 대한 기반 지식은 아래 예전 포스팅을 참고하기 바란다. Cassandra 소개 및 데이타 모델 http://bcho.tistory.com/440Cassandra의 시조가 되는 Amazon Dynamo 아키텍쳐의 장단점 http://bcho.tistory.com/622Dynamo 기반의 Ring 아키텍쳐 설명 http://bcho.tistory.com/621 (다른 NoSQL인 Riak에 대한 설명이지만 클러스터를 구성하는 Ring 아키텍쳐는 Dynamo 계열이기 때문에 동일하다.)Cassandra ..

HTML 5의 큰 변화점

기존 단순 UI 플랫폼에서 발전하여Storage 지원으로 인하여, 네트워크 연결이 없이도, 어느정도의 기능을 하는 애플리케이션 제작이 가능함. (Key Value 기반의 localStorage, RDB 성격의 clientDB)WebSocket을 통하여, AJAX등을 이용한 long polling에서 바로 서버와 클라이언트간 메세지를 받을 수 있기 때문에 더 빠른 응답시간과 사용자 경험을 제공할 수 있는 UI가 가능하다. (아직 완성되지는 않았음)별도의 플러그인 없이 Video와 Audio를 사용할 수 있다. 단순 링크된 문서 뷰어에서 단독 저장공간과 서버로의 역방향 연결성 제공 멀티미디어 기능 강화를 통해서 리치 클라이언트 플랫폼으로 업그레이됨

페이스북에 그룹하나 오픈했습니다.

안녕하세요? 조대협입니다. 요즘 그야말로 정보의 홍수입니다. 특히 신기술이나 대용량 분산 아키텍쳐에 대한 글들은 많기도 하고 찾아서 정리하기도 힘들더군요. 그래서 저 같은 경우는 페이스북이나 트위터를 자주 이용합니다. 트위터에 올려놓으면 RT 타고 경험이 있으신 분들이 답변을 해주실때도 많고, 페이스북에서는 좋은 링크 자료들이 많이 나오거든요. 참 편한데, 같이 이야기할 수 있는 장이 있으면 어떨까? 하는 생각에 가볍게 그룹을 만들어봤습니다. 시작은 제가 알고 있던 고수분들을 초빙했습니다. BEA 출신, 오라클 출신, Microsoft출신, 자바 커뮤니티 멤버분들, 출판사분들 등등. 아마 서로 도움이 많이 되리라 생각됩니다. 기술적으로 서버에 대해서 토론 하고 싶은 내용이나, 개인적으로 저장해놓으신 스크..

IT 이야기 2012.06.21

Amazon EC2 vs Azure Virtual Compute Service 가격 비교

어제 발표된 Microsoft Azure의 IaaS 서비스와 Amazon의 AWS 서비스 사이에 가격 비교를 해봤다. 아래 내용은 네트워크 비용이나 Blob Storage 등 부가 서비스를 제외하고 EC2 서비스 만을 비교한 것이다. 요약 - Linux VM의 경우 동일, Windows VM의 경우 MS가 저렴 Linux VM의 경우 동등 인스턴스 크기에서는 Amazon과 Azure 양쪽 가격이 같다. Azure가 레퍼런스해서 만든 느낌이 가득하다. Azure 장점 - Windows Server VM의 경우 Amazon 대비 저렴. Amazon은 Windows VM에 대해서 별도의 가격 정책을 책정하나, Azure의 경우 Linux와 Windows를 모두 동일하게 가져감 Azure 단점 - 인스턴스 종류..

Windows Azure의 새로운 서비스 Media Services

한마디로 이야기 하자면 - "대단한 서비스이다." - "멀티미디어 컨텐츠에 대해서 End2End 시나리오를 지원한다." - "독보적인 서비스이다" 주관적인 생각이지만 그만큼 가치가 있는 서비스라고 생각한다. 2012년 6월8일 한국 시간 오전 5시에 Windows Azure의 새 버전이 발표되었다. 여기에 클라우드 서비스로 추가된 것이 'Windows Azure Media Services"이다. 이 서비스의 시나리오를 요약하자면 1) [업로드] 컨텐츠 사업자가 Azure에 멀티미디어 컨텐츠를 업로드 하면, 2) [워크플로우] 사용자가 정한 컨텐츠 처리 로직을 수행하게 되는데 3) [인코딩] 컨텐츠를 필요한 포맷으로 인코딩 하고 4) [Ingestion] 각종 후처리 (광고 삽입,메타데이타 추출등)를 거치..

분산처리 프레임웍 Apache Hadoop 아키텍쳐 소개 - #1/2 (HDFS)

Hadoop Architecture Overview 요즘 클라우드와 빅데이타 그리고 분산 컴퓨팅이 유행하면서 가장 많은 언급 되는 솔루션중하나가 Hadoop이다. Hadoop 이 무엇이길래 이렇게 여기저기서 언급될까? 본 글에서는 Hadoop에 대한 소개와 함께, Hadoop의 내부 동작 아키텍쳐에 대해서 간략하게 소개 한다. What is Hadoop? Hadoop의 공식 소개를 홈페이지에서 찾아보면 다음과 같다. ‘ The Apache Hadoop software library is a framework that allows for the distributed processing of large data sets across clusters of computers using a simple progr..

Microsoft Azure Cloud 업그레이드판 출시-리눅스,자바 지원!!

내일 오전 5시에(한국시간) Azure 새버전이 발표됩니다. 아마존 서비스에 반격을 하기 위해서, 그리고 이제 개발자나 시장의 상황을 어느정도 인지한 듯한 모양을 보입니다. 기존의 윈도우와 .NET만 지원하던 환경에서 Linux 지원과 Java,Python등의 다른 개발 플랫폼 까지 지원하게 된것이 가장 큰 특징이라고 볼 수 있습니다. 글로벌하게 제대로된 IaaS가 AWS 밖에 없었다면 강력한 경쟁 체재가 생기게 된것입니다. (이럴줄 알았으면 MS에 계속 있을 걸 그랬습니다.) 일단 주목할만한 특징들을 살펴보면 1. IaaS 제공 - Windows Server 뿐만 아니라, CentOS,Ubuntu,Suse Linux 제공 o Windows Server § Windows Server 2008 R2 § W..