2010-07-12 18 views
9

यह चहचहाना/की तरह वेब एप्लिकेशन को लागू करने की तरह लगता है फेसबुक दीवार की जरूरत है 1 विशाल "फ़ीड" रिलेशनल तालिका (+ एक उपयोगकर्ता तालिका) और एक भयानक कैशिंग तंत्र .. (आप एक सिफारिश कर सकते हैं?)किसी भी एसएसक्यूएल प्रकार के डीबी का उपयोग करके आप ट्विटर को कैसे कार्यान्वित करेंगे?

अपने मुख्य सवाल यह है कि, आप गैर-रिलेशनल डीबी, उदाहरण के लिए ऐसी "फीचर" को कैसे कार्यान्वित करेंगे एक कुंजी/मूल्य प्रकार डीबी?

जाहिर है, मैं ट्विटर का उपयोग करके उपयोगकर्ताओं की मात्रा का समर्थन करना चाहता हूं और सामान्य रूप से।

धन्यवाद

+0

आपके प्रश्न का उत्तर सटीक डीबी प्रकार –

+1

पर अत्यधिक निर्भर है ट्विटर ट्विटर को संग्रहीत करने के लिए MySQL का उपयोग कर रहा है: http://engineering.twitter.com/2010/07/cassandra-at-twitter-today.html –

+0

मेरा सवाल यह है कि चहचहाना उनके समाधान को लागू नहीं किया है, लेकिन आप इसे कैसे लागू होगा? – DuduAlul

उत्तर

4

आप पढ़ सकते हैं कि कैसे चहचहाना इस पर यहाँ किया: http://highscalability.com/blog/2010/2/19/twitters-plan-to-analyze-100-billion-tweets.html

इसके अलावा इस पढ़ें: http://highscalability.com/scaling-twitter-making-twitter-10000-percent-faster

कोई डेटा मॉडल लेकिन कैसे के बारे में जानकारी की काफी एक बहुत कुछ;)

0

जाहिर है, मुझे उपयोगकर्ताओं का उपयोग ट्विटर समवर्ती और सामान्य रूप से उपयोगकर्ताओं का उपयोग करना चाहता था।

क्षमा करें, लेकिन यह आवश्यकता यथार्थवादी होने से बहुत दूर है। ट्विटर के पास उनके विशाल समेकन का समर्थन करने के लिए डेटा को दाढ़ी देने के लिए एक विशाल सर्वर फार्म है, क्या आपके पास ट्विटर के रूप में अधिक सर्वर हैं?

वहाँ एक वास्तुशिल्प विचार redis के साथ एक चहचहाना क्लोन को लागू है: TwitterAlikeExample

+0

यह एक सैद्धांतिक सवाल है, तो मान लेते हैं कि मैं इस तरह के एक खेत .. – DuduAlul

+0

redis वास्तुकला के लिए की क्या ज़रूरत है: sharding और प्रतिकृति जोड़ने के रूप में चहचहाना करता है। –

2

मैं रेडिस का उपयोग करें। प्रति उपयोगकर्ता कुंजी की कतार + इन चाबियों द्वारा पुनर्प्राप्त ब्लॉब्स का सेट।

1

मैं मोंगोडीबी को सूची में फेंक दूंगा।

स्कीमा बहुत आसान होने जा रहा है।

ट्वीट्स
उपयोगकर्ता नाम (या एक UserID अगर थोड़ा सामान्य करना चाहते हैं)
TweetID (एक अद्वितीय संख्या)
टाइमस्टैम्प
ट्वीट (ट्वीट का पाठ)

उपयोगकर्ता
UserID (वैकल्पिक) उपयोगकर्ता नाम
नाम, ईमेल, व्यक्तिगत जानकारी (वेब ​​यूआरएल, आदि) पासवर्ड (हैश)
अनुयायी (उपयोगकर्ता रेफरी दोहराना)
(दोहरा उपयोगकर्ता रेफरी) के बाद

+4

ठीक है, तुम कैसे कुशलतापूर्वक लोगों के सभी ट्वीट्स के लिए क्वेरी है कि एक पीछा कर रहा है – DuduAlul

2

मैं हाल ही में HBase का उपयोग कर चहचहाना डेटा स्तर की एक न्यूनतम कार्यान्वयन लिखा था। यदि आप रुचि रखते हैं तो आप उस पर नजर डाल सकते हैं: https://gist.github.com/1101316। पहली फ़ाइल CreateTwitterTable.java में हैबेस टेबल और उनके संबंधित कॉलम परिवार बनाने के लिए कोड है। दूसरी फ़ाइल TwitterClient।जावा बुनियादी कार्यों ऐसे getTimeline, addTweet, deleteTweet, followUser, unfollowUser और adduser है का कोड है।

संबंधित मुद्दे

 संबंधित मुद्दे