SF 2023_08호

Study/발번역 2023. 8. 23. 09:54

다음 COVID의 새로운 변종을 예측하기 위해서 AI를 이용했다는 연구 결과 

왜 AI를 활용해야 했는가가 궁금해서 읽어봤는데 

“There are rules of pandemic virus evolution that we have not understood, but can be discovered,”

팬더믹 바이러스의 진화에는 우리가 이해할수 는 없지만 발견할 수 있는 어떤  룰(규칙, 법칙)이 있다는 것이다. 

“One of the big lessons of this work is that it’s important to take into account not just a few prominent variants, but also the tens of thousands of other undesignated variants, which we call the ‘variant dark matter’,” said Balch.

"이 연구결과의 주요한 교훈은 우리가 몇 몇의 유망한 변수들만 고려해야 하는 것이 아니라 수천개의 식별할 수 없는 변수들도 (이른바 암흑물질 같은 변수)  같이 고려해야 한다"고 Balch는 전했다. 

, the machine was able to track genetic changes in the variants, as well as the virus’s response to lockdowns, mask wearing, new vaccines, increasing human immunity and competition between different variants.

바이러스의 유전적 변화, 락다운에 대한 바이러스의 대응, 마스크 착용, 새로운 백신, 면역력의 증가 그리고 다른 변수들간의 경쟁 등 이런 변수들을 추적할 수 있다는 것 

'Study > 발번역' 카테고리의 다른 글

Science Focus 2023년 5월호  (1) 2023.05.22
Science Focus March 2021  (0) 2023.03.08
Introduction to LSM Trees: May the logs be with you 번역  (0) 2019.05.07
Posted by 두다다쿵
,
Harvard Medical School and Duke University School of Medicine 의 연구결과 

- 사람이 나이가 드는 것은 1. chronological 연령적인 것과 2. 신체생리학적 것으로 나눌 수 있는데 이 중에 biological 나이는 질병 이력, 생활습관, 주변 환경 등에 영향을 받는다고 한다. 

- 주요한 연구결과는 이 biological 에이징이 스트레스에서 복원하는 능력에 영향을 받는다는 것이다.

- methylation 이야기는 자세히 나오지도 않아서 chatGPT에 물어본 결과는 

"In summary, methylation is a natural chemical process that involves the addition of methyl groups to DNA or proteins, which can affect gene expression and play a crucial role in shaping the functioning of our cells and bodies."

“the ability to recover from stress may be an important determinant of successful ageing and longevity”
- 스트레스로부터 회복하는 능력은 곱게(?) 늙는 것과 수명에 중요한 결정 요인으로 보인다.

결론은 스트레스 관련 질병에 걸리지 않도록 해야 하고 잘 회복하는 것이 중요한데 스트레스 관련 질병이 아닌게 있나 현대사회에서 ㅋㅋ

-

고산지대에서 발견된 유골들의 치아 성분을 분석한 결과 우유를 비롯한 유제품이 고산지대 생존에 결정적인 역할을 했을 것이라는 연구 결과가 발표

- 보통 고산지대는 척박하고 영양을 확보하기 어려운 환경인데 양들은 이런 곳의 식물에서 영양분을 얻어 우유나 고기로 변환하는 능력이 탁월 

-이런 동물들이 만들어내는 우유 덕분에 고산지대에서 사람들이 생존해왔다는

- Tel Aviv University 의 생물학자들이 식물도 스트레스를 받으면 소리를 낸다는 사실을 밝혀냈다고 
 
- 물이 부족하거나 줄기가 잘리는 등의 상황에서 스트레스를 받고 저주파 소리를 내는 것으로 

- 물론 사람이 들을 수 없는 주파수의 소리이긴 한데

- 하지만 동물들 중에 이런 소리를 들을 수 있어 예를 들어 나방은 이런 소리를 듣고 알을 낳을 식물을 정하기도 한다고 

 

- NASA’s Johnson Space Center in Houston, Texas 의 창고에 화성과 비슷한 환경을 만들고 지원자들을 1년간 격리시켜 생활하게 한다는 기사 

- 이들이 이 환경에서 생활하는 거주구는 3D printer로 제작 (화성에 건축관련 자재 기술자들을 바리바리 싸들고 가서 지을순 없을테니) 

- 518 제곱센티 미터 공간의 이름은 "Mars Dune Alpha"
 
- 지원자들은 연구인력, 엔지니어 , 의료종사들로 다양한 일반시민들로 구성한다. 특히 1년간 외부세계와 단절시켜서 화성같은 고립상황에서 발생할 수 있는 건강 문제 및 수행능력 평가등을 측정한다고

제목부터 칼침을 놓는군 : 비만 관련해서는 '모든 상황에 딱 맞는 절대 비법'은 없다라고 

'Study > 발번역' 카테고리의 다른 글

SF 2023_08호  (0) 2023.08.23
Science Focus March 2021  (0) 2023.03.08
Introduction to LSM Trees: May the logs be with you 번역  (0) 2019.05.07
Posted by 두다다쿵
,

# 양치습관에 관한 조언

코로나 때문에 치과 검진을 걸렸다면 정기적으로 치과는 가도록 하자 

코로나 방역으로 인한 락다운으로 많은 사람들이 더 많이 이를 갈고 있다.
  •  밤에 너무 이를 갈면 마우스가드를 사용하도록 하자. 보톡스 주사로도 해결하는 방법이 있다는데 치과의사한테 물어봐라 

적절한 양치횟수는 
  1. 적어도 하루에 한번은 치실을 사용하고 
  2. 가장 중요한 양치질은 밤에 자러 가기 전에 하는 양치질이다!! 
  3. 탄산 음료를 마셨으면 양치질은 한 시간 뒤에나   

양치질을 신중하게 
  • 거울 앞에서 너의 양치 습관을 직접 보면서 살펴보자. 치아 겉면, 안쪽, 그리고 씹는 부분을 골고루 잘 닦자 

전동칫솔을 써라 
  • 대나무 칫솔이 환경친화적일지는 몰라도 치아를 전동보다 깨끗하게 닦아주는 못한다. 타이머와 압력감지 센서를 갖춰서 적당한 시간과 너무 힘을 쎄게 주어 양치하는 습관을 버리도록 하자 

불소가 들어간 치약을 사용해라 
  • 불소는 완전히 안전한 화학성분으로 치아를 클린하게 해준다. 간혹 목탄 성분이 들어간 치약이 있는데 너무 거친 연마제라 치아손상될 수도 
입냄새 나면 딴짓 하지 말고 양치질 잘하고 수분을 잘 공급해줘라 


반드시 기억할 것 
  1. 전동칫솔 쓰기
  2. 의사한테 칫솔과 치약의 교체주기 물어보기 
  3. 아침에 과일주스 같은 먹고 바로 양치질하지 말기

 

# 언어 학습의 왕도란 있는가 ?

언어를 배울때 가장 Best 한 방법은 그냥 시간을 많이 투자하는 것이고 많은 연구결과는 얼마나 몰입했는가(immersed in)가 제일 중요하다고 한다. - 그러니까 그냥 단어 외우고 문법을 익히는 것보다 해당 언어로 된 잡지를 구독하고 TV를 시청하거나 원어민과 채팅을 하는 등 이게 더 효율적이다 라는 느낌

그럼 시간을 얼마나 투자해야 하느냐는 안타깝게도 아직 결정적인 연구결과는 없다만 가장 중요한 것은 스피킹을 두려워하지 말라는 것이다.   

언어습득에는 통상 400~2,000 시간이 걸린다고들 하는데, 중요한 건 언어학습의 목적과 누가 하느냐가 중요하다고 한다. 연구결과에 따르면 자신이 선택해서 공부하는 사람이 더 잘 습득한다고 한다(공부해 라고 지시받은 사람들보다).

 

# 웃음이 만병통치약  ?

“웃음이 최고의 약이다” 라는 격언도 있지만 이 격언의 다른 의미로는 ‘건강한사람이 잘 웃을 수 있다’는 뜻이기도 하다.

보통 행복이 좋은 건강상태를 유지하게 하지만 반대의 경우도 가능하다는 것인데,

결국 견실한 면역체계를 타고난 사람이 기분을 유쾌하게 하는 뇌의 화학물질도 높은 수준으로 유지할 수 있다는 연구결과가 있다.


이에 대한 진화적 설명은 이렇다. 인간은 집단해서 협동해서 식량을 구하고 야생동물들로 부터 자신들을 보호하는 사회적 존재로 진화해왔다. 우리는 친구들이나 가족 같은 친밀한 네트워크 안에 있을 때 생존확률이 올라기 때문에  더 행복함을 느끼는 것이다.  하지만 모여 사는 사회집단은 감기나 인플루엔자 같은 호흡기 감염병이 창궐할 수 있는 좋은 조건이기 때문에 우리는 그런 질병들과 싸울 수 있는 능력(면역력)을 향상시킬 필요가 있는 것이다.

# 가요톱텐 아니 인간한테 치명적인 동물 탑텐 

모기는 뭐 단연 1티어고 광견병으로 죽는 사람도 많구만
5등에 저 노린재가 있는게 신기하고 (아마도 북남미 대륙 기준같고) 그렇습니다. 아프리카 초원에선 사자보다 코끼리에 짓밟히거나 하마한테 깨물려 죽을 수도 있는 거죠.

 

# 거미가 몸집을 고양이크기까지 키울수 있지만 그렇게 안 or 못하는 이유 

1. 벽에 붙으려면 다리에 건조한 벽에 붙을 수 있는 털을 이용하는데 저 크기가 되면 털이 겁나 엄청나게 많아야 

2. 그건 둘째치고 호흡문제 때문에 안됨
=> 내가 알기론 곤충들은 확산을 이용해 산소를 공급받으니까 (심장이 없음) 저 정도 크기가 되면 표면적 대비 부피가 세제곱으로 커져서 확산만으로는 호흡 못한다고 알고 있음 

#다크서클

눈을 둘러싼 피부는 얇고 섬세하다.  정맥과 눈썹을 움직이는 근육으로 둘러쌓여 있는데 어두운색은 피부를 투과하여 빛나는 성질이 있기 때문에 더 눈 주위를 어둡게 만든다. 


다크서클은 여러가지 원인이 복합적으로 작용하는데 유전, 알러지, 피하지방 과다, 노화, 빈혈, 호르몬, 스트레스 그리고 당연히도 수면부족  등이 그 후보들이다. 


치료에는 피하지방 제거부터 차가운 티백으로 눌러주기등 방법이 여러가지 인데 카페인을 섭취하면 혈관이 확장되어 다크서클을 없앨 수 있다는 연구도 있기는 하다. 거기에 녹차나 블랙티에 함유된 항산화제가 노화를 방지하는 효과가 있으므로 당연히 다크서클에도 효과가 있을 것이다. 이 모든 방법이 안듣는다면 스트레스를 줄이고 수면을 충분히 취하면 도움이 될 것이다. 

 

 

'Study > 발번역' 카테고리의 다른 글

SF 2023_08호  (0) 2023.08.23
Science Focus 2023년 5월호  (1) 2023.05.22
Introduction to LSM Trees: May the logs be with you 번역  (0) 2019.05.07
Posted by 두다다쿵
,

https://priyankvex.wordpress.com/2019/04/28/introduction-to-lsm-trees-may-the-logs-be-with-you/

원문링크

 

Introduction to LSM Trees: May the logs be with you

LSM Trees overview This post is a part of a newsletter that I run: “Scamming The Coding Interview“, which is geared towards helping people ACE their coding interviews. We send a coding qu…

priyankvex.wordpress.com

소개

 

우리가 생각할 수 있는 가장 심플한 데이터 베이스의 구현은 어떤 것일까 ?

간단하게 파일의 끝에 append 하는 방법이 가장 그럴싸한(구현하기 쉬운) 설계일 것이다.

사실 이 바닥에서는 불변의(새로만들지 않는) append-only 데이터 구조가  실제로 가장 강력한 아이디어다. Appen 전용의 로그에 데이터를 저장하는 이 아이디어는 SSTable 과 LSM Tree 의 기본 개념이다. 카산드라와 RockDB 가 이런 개념의 DB이다.

 

What is an LSM Tree?

LSM Tree를 정의한다면 다음과 같다.

 

Log Structured Merge Tree” 는 성능을 우선시하는 그래서 인서트와 업데이트 비율이 높은 성격의 데이터를 저장할 때 매력적인 데이터 스트럭쳐다.

LSM Tree는 2 혹은 그 이상의 레벨로 구성된 트리 같은 데이터 스트럭쳐다. 가장 간단한 버전은 C0와 C1 두 레벨로 구성된다.

 

C0 은 memtable 이라고도 불리는데 온전히 메모리에만 존재한다. memtable 은  AVL 같은 Balanced tree 구조를 이용해서 구현하고 key로 정렬된 key-value 형태로 저장한다. 모든 insert 와 update 는 C0 에 쓰여진다.

 

C1은 사이즈가 매우 크고 메모리가 아니라 디스크에 저장된다. C1은 빠른 key lookup 을 위해 해쉬 인덱스(Hash Index)를 동반한 불변 immutable 로그 세그먼트들로 구성된다.

C1은 일반적으로 SSTable 로 구현한다.

 

What are SSTables and how does it fit in the LSM tree?

 

log 기반의 데이터 스트럭쳐에서 , Insert 와 update 들은 로그 파일에 append 된다. 파일에 append 한다는 것이 매우 효율적이고 빠르다는 것이 main 아이디어이고 이 아이디어가  DB가 많은 양의 쓰기 작업을 감당할 수 있게 만들어 준다. 로그 파일들이 늘어감에 따라 이 파일들을 분할 (segment) 하는 것이 당연하다. 이래서 SSTable (String Sorted Table) 이 등장한 것이다.

 

SSTable 은 immutable 로그 세그먼트들에 문자열 기준으로 정렬되어 key-value 쌍 형태로 저장된다.

 

이런 구조이 주요 장점

  1. Lookup 이 매우 빠르고 효율적이다. Hash Index가 없을 때도

  2. Range query (범위 질의)가 가능함

 

만약 C0의 in-meomory 사이즈가 설정치를(일반적으로 몇 메가바이트)  초과하게 되면 SSTable 에 키로 정렬된 새로운 Segment로 Disk에 flush 된다

 

Overview of LSM Tree’s working:

지금까지 LSM 트리에 대한 모든 컨셉들을 살펴보았기 때문에 이제 각각의 조각들을 합쳐서 큰 그림을 볼 수 있게 되었다.

 

Inserting data into LSM Tree:

 

  1. 쓰기 요청이 들어오면 메모리 상주  table 에 insert 하고

  2. 메모리 상주 table 의 사이즈가 설정치를 초과하면 disk 에 flush 되고

  3. 메모리 상주 table이 이미 정렬되어 있다면 새로운  SSTable segment 를 생성한다

  4. old segment들은 주기적으로  merge 되서 disk space 에 저장되고  data 의 파편화를 최소화한다.

 

Reading data from LSM Tree:

  1. 주어진 키가 먼저 메모리 상주  table에서 lookup 되고

  2. 그런 다음에  hash index 를 사용하여 compaction 상태에 따라 하나 혹은 그 이상의 segment 에서  search 한다.

 

Sample use case in a system

LSMTree 설계에서 지적했듯이  트랜잭션 로그 라든가 사용자 이벤트 혹은 어떤 스트림 데이터를 자주 쓰는  workload가 많은 경우를 처리하기 위해서 좋은 방식이다.

 

예를 들어  LSM Tree  은 어떤 애플리케이션들이 생성한 이벤트들을 저장할 때 활용될 수 있다.

 

Advantages of LSM tree

 

  1. LSM Tree 는 매우 높은  write 성능을 낼 수 있다

  2. LSM Tree 는 더 잘 압축되어 사이즈가 훨씨 적은 로그 세그먼트 파일을 만들어 낼 수 있다.

 

Disadvantages of LSM Tree

  1. 압축(Compaction) 과정이 현재 실행중인 read write 성능을 저하시킬 수 있다

  2. Read/Write 처리량이 압축과정에서 소모되어 성능을 감소 시킬 수 있다.

  3. 각각의 키가 동시에 여러 곳에  존재하기 때문에 키의 존재 여부를 체크할 때는 모든  세그먼트를 다 스캔해야 한다.

 

Conclusion

LSM Tree 는 단지 log 에  append 한다는 아이디어 기반한다. 전통적인 데이터 베이스 시스템에서 병목지점인 매우 높은  쓰기 처리량을 필요로 할 때 유용하다.

 

'Study > 발번역' 카테고리의 다른 글

SF 2023_08호  (0) 2023.08.23
Science Focus 2023년 5월호  (1) 2023.05.22
Science Focus March 2021  (0) 2023.03.08
Posted by 두다다쿵
,

In a batch-processing system such as Hadoop, we usually care about throughput—the number of records we can process per second, or the total time it takes to run a job on a dataset of a certain size


하둡 같은 배치 시스템에서 성능 지표는 소위 말하는 스루풋 (초당 처리해야할 레코드의 수) 이나 일정 사이즈로 어떤 데이터셋을 처리하는 총 시간등이다. 


In online systems, latency is usually more important—the time it takes to serve a request, also known as response time.


온라인 시스템에서는 응답시간이라고 알려진 지표 - 각각의 요청을 처리하는데 걸린 시간 - Latency


We therefore need to think of latency not as a single number, but as a probability distribution.


latency는 측정할 때 마다 살짝 달라질 수 있어서 단일 수치로 취급하지말고 정규분포 형태로 취급해야 한다.


Now, when testing a system at various levels of load, you can track the median and higher percentiles of response times in order to get a quick measure of the performance.


다양한 부하를 받는 시스템을 테스트 하기 위해서는 평균 대신 중앙값 이나 상위의 percentile  백분위 계수(뭔가 퍼포먼스가 제일 떨어지는 놈)를 사용해야 한다.

90

59.7

평균

70

70

중간값

80

80

percentile 상위 80%

70



1



1



65



70



80



70




High percentiles become especially important in backend services that are called multiple times as part of serving a single end-user request. Even if you make the calls in parallel, the end-user request still needs to wait for the slowest of the parallel calls to complete


대박 중요 (왜 굳이 상위 백분위 계수의 값이 (즉 성능이 떨어지는 최악의 수치들이) 중요한 이유는 병렬처리 환경에서 저렇게 편차를 보이는 퍼포먼스가 나왔을때 결국 그 병렬처리의 끝은 맨 마지막에 끝난 놈의 수치가 퍼포먼스가 되기 때문에....)




Posted by 두다다쿵
,



The tools and technologies that help data-intensive applications store and process data have been rapidly adapting to these changes. New types of database system (“NoSQL”) have been getting lots of attention, but message queues, caches, search indexes, frameworks for batch and stream processing, and related technologies are very important too. Many applications use some combination of these.


RDB에서 시작된 데이터 시스템은 시간이 지남에 따라 다양한 요구사항을 대응하여 새로운 기술들을 마구 쏟아내었다.  비정형데이터를 처리하기 위한 NoSQL 이 대표적이다. 하지만 메시지 큐 , 캐시 , Search Index, 배치프레임워크(아마도 Hadoop을) , 그리고 스트림 처리(CQL, 예를 들자면 스플렁크) 역시도 데이터 처리 기술에서 중요한 역할을 차지하며 많은 애플리케이션들이 이런 기술들을 조합해서 사용하고 있다. 


그리하여 각 기술의 장단점과 언제 어떻게 써야 하는지를 알아보겠다는게 이 책의 목표같다.(매우 당찬 포부다)



 Store data so that they, or another application, can find it again later (databases), 


 Remember the result of an expensive operation, to speed up reads (caches),

 

 Allow users to search data by keyword or filter it in various ways (search indexes),

 

 Send a message to another process, to be handled asynchronously (message queues),

 

 Observe what is happening, and act on events as they occur (stream processing), 


 Periodically crunch a large amount of accumulated data (batch processing).



Reliability The system should continue to work correctly (performing the correct function at the desired performance) even in the face of adversity (hardware or software faults, and even human error).  


Scalability As the system grows (in data volume, traffic volume or complexity), there should be reasonable ways of dealing with that growth. 


Maintainability Over time, many different people will work on the system (engineering and operations, both maintaining current behavior and adapting the system to new use cases), and they should all be able 14 to work on it productively. 



Scalability



1번 방식 : 트윗 계정에 로그인 할 때 위에 처럼 전통적인 RDB 에서 자신이 팔로우 하는 사람들의 트윗들을 JOIN으로 쿼리해서 타임라인에 뿌린다. 쿼리는 다음과 같을 것이라고 한다. 





2번 방식은 일종의 캐쉬를 이용한 방식인데 1번과 달리 계정 사용자가 로그인할 때 쿼리 하는 방식이 아니라 트윗을 등록하는 사람이 일단 글로벌 저장소(캐쉬)에 푸쉬를 하면 개별 계정들이 자신의 타임라인에 대한 캐쉬를 가지고 있고 글로벌 저장소는 들어온 트윗을 각각의 팔로워들의 캐쉬에 밀어 넣는 방식이다.


1번을 매번 타임라인을 확인할때마다 쿼리를 해야하는 방식인데 실제 트위터를 운영하다보니(?) 사람들이 트윗을 등록하는데 쓰는 시간보다 자신의 타임라인을 읽는데 (서버의) 더 많은 자원을 쓴다는 것을 알았고 그래서 타임라인은 퀴리로 요청하기보다는 캐쉬로 유지하고 푸쉬를 받는 방식을 취하는 것이다. 등록하는 일이 비교적 더 적으니까 그때 더 많은 일을 하자는 것이다


However, the downside of approach 2 is that posting a tweet now requires a lot of extra work. On average, a tweet is delivered to about 75 followers, so 4.6 k tweets per second become 345 k writes per second to the home timeline caches


2번 방식에서 고려해야 할 load 는 팔로워가 많은 유저가 트윗을 등록했을때 그 팔로워의 수만큼 푸쉬하는 작업이 늘어나기 때문에 이 부분에서 얼마나 많은 팔로워의 캐쉬들에 트윗을 복제해서 푸시해줘야 하는데 그 양이 결국 Scability의 고려 사항이 되는 것이다. 


현재 트위터는 2번을 주된 방식으로 하되 아까 언급했던 팔로워가 많은 셀러브리티들의 트윗은 1번 방식으로 긁어와서 2번에 수집한 내용과 섞어서 하이브리드로 동작한다고 한다. 이게 핵심인듯


Twitter is moving to a hybrid of both approaches. Most users’ tweets continue to be fanned out to home timelines at the time when they are posted, but a small number of users with a very large number of followers are excepted from this fan-out. Instead, when the home timeline is read, the tweets from celebrities followed by the user are fetched separately and merged with the home timeline when the timeline is read, like in approach 1.


이 부분을 읽어보니 Scability가 뭔지 대충 알 것 같다. 좋은 책인거 같다 


'Study' 카테고리의 다른 글

임시 - designing data-intensive application - Describing performance  (0) 2017.10.12
Posted by 두다다쿵
,