๊ธฐ๋ฅ
์นด์ฐ์น๋ฒ ์ด์ค์ ์ค๋ผํด์ ์ฃผ์ ๊ธฐ๋ฅ ๋น๊ต
- ํฌํจ๋ ๋ด์ฉ
- SQL
- ์ฐ ๊ฑฐ๋
- ์คํค๋ง ์ ์ฐ์ฑ
- ์ํ ์ค์ผ์ผ๋ง
- ์๋ ๋ณต์
- ๋ด์ฅ ์บ์ฑ
- ๋ค์ค ๋ชจ๋ธ ์ง์
- ๋ชจ๋ฐ์ผ ๋ฐ ์ฃ์ง ๋๊ธฐํ
- ์๋ ์ค๋ฉ
- ๋ค์ฐจ์ ์ค์ผ์ผ๋ง
- ๋ฐ์ดํฐ๋ฒ ์ด์ค ๋ก์ง
- REST ๊ด๋ฆฌ API
- ์นด์ฐ์น๋ฒ ์ด์ค
- ์ด๋ฒคํธ, UDF
- Oracle
- ์ ํ๋ ๋ค์ดํฐ๋ธ ์ค๋ฉ, ๋ณต์กํ
- ์คํ๋กํฌ, ํธ๋ฆฌ๊ฑฐ, ์กฐํ์
๊ณ ๊ฐ
์ฑ๊ณต ์ฌ๋ก: ์ค๋ผํด์์ ์นด์ฐ์น๋ฒ ์ด์ค๊น์ง
-
"Couchbase๋ ํด๋ผ์ฐ๋์ ๋ํ ์ฐ๋ฆฌ์ ๋น์ ๊ณผ PaaS์์ ์ง์ ๋ฐ์ดํฐ ์ ์ฅ์๋ฅผ ์ด์ํ๊ณ ์ ํ๋ ์ฐ๋ฆฌ์ ๋น์ ์ ํจ๊ป ๋ฐ์๋ค์ผ ์ ์์์ต๋๋ค."
๋น์ผํธ ๋ฒ์ , ๋จ์ ๊ด๋ฆฌ์, NoSQL ์๋ฃจ์ , ์๋ง๋ฐ์ฐ์ค20 ์ด๋น ๋ฐฑ๋ง ๊ฑด์ ์์< 2.5 ms ์๋ต ์๊ฐ -
"์๋ ๋์ ์ฐ๋ฆฌ๋ ํฐ ๋ฒ์ญ๊ณผ ์ค๋ฒํค๋ ์์ด Java ๊ฐ์ฒด์์ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ก ๋ฐ๋ก ์ด๋ํ ์ ์๋ ๋ฐ์ดํฐ ์ ์ฅ์๋ฅผ ์ํ์ต๋๋ค. ์ด๊ฒ์ด ๋ฐ๋ก ๊ทธ๊ฒ์ ๋๋ค."
ํ ๋ง์ค ๋น๋๋ ธ๋น์น, ์๋ฃจ์ ์ํคํ ํธ, ๋ฉ๋ฆฌ์ดํธ4,000 ์ด๋น ํธ๋์ญ์ ์30M+ ๋ฌธ์ -
"Couchbase๋ ํ์ฅ์ฑ์ด ๋ฐ์ด๋ ๋ถ์ฐํ ๋ฐ์ดํฐ ์ ์ฅ์๋ก LinkedIn์ ์บ์ฑ ์์คํ ์์ ์ค์ํ ์ญํ ์ ๋ด๋นํฉ๋๋ค."
๋ง์ดํด ์ผํธ, ์ ์ ์ง์ ์ฌ์ดํธ ์์ ์ฑ ์์ง๋์ด, LinkedIn10+ ์ด๋น ๋ฐฑ๋ง ๊ฑด์ ์ฟผ๋ฆฌ< 4 ms ํ๊ท ์ง์ฐ ์๊ฐ
์ฝ๋ ์ค๋ํซ
SQL++๋ PL/SQL๊ณผ ๊ฐ์ ๋ชจ๋ ๊ธฐ๋ฅ์ ๊ฐ์ถ SQL ๊ตฌํ์ผ๋ก, JOIN, CTE ๋ฐ CRUD๋ฅผ ์ง์ํฉ๋๋ค.
> SQL
SELECT u.name, AVG(o.total) AS avgOrderTotal
FROM users u
JOIN orders o ON u.userId = META(o).id
WHERE u.membershipLevel = 'Gold' AND u.status = 'active'
GROUP BY u.name
> SQL
SELECT u.Name, AVG(o.Total) AS AvgOrderTotal
FROM Users u
JOIN Orders o ON u.UserId = o.UserId
WHERE u.MembershipLevel = 'Gold' AND u.Status = 'active'
GROUP BY u.Name